SQL-Injection in WordPress

Auf Milw0rm wurde ein Exploit für eine Remote SQL-Injection für das Blogsystem WordPress veröffentlicht, mit der Angreifer eigene Befehle an die Datenbank von WordPress übergeben und so Inhalte manipulieren oder Namen und Passwort-Hashes anderer Nutzer auslesen können.

Verursacher ist die Funktion wp.suggestCategories im Modul xmlrpc.php, die übergebene Parameter nicht richtig filtert und so beliebige SQL-Aufrufe an die Datenbank weitergibt.

Der Fehler betrifft wahrscheinlich alle WordPress-Versionen bis einschließlich 2.2. Zwar lässt sich der Exploit nur als angemeldeter Nutzer ausnutzen, Anwender sollten aber ASAP das Update der xmlrpc.php aus den Entwickler-Repositories einspielen.

Wer es lieber händisch mag, muss in der Zeile 541

$max_results = $args[4];

gegen

$max_results = (int) $args[4];

austauschen … zumindest passt dieses auf die xmlrpc.php der Version 2.2. Wie der Code in den Versionen < 2.2 aussieht, kann ich IMO leider nicht sagen.

4 thoughts on “SQL-Injection in WordPress

  1. Nur relevant, wenn man mehrere Autoren im Blog managed oder?
    Ich mein, niemand anderes kann die Injection durchführen, als ein angemeldeter Autor :-)

  2. jup, allerdings gibt es auch Blogger die Ihr WordPress anderen Usern noch weniger Rechte als Autoren zugestehen (damit der User z.B. nicht immer seine Benutzerdaten eingeben muss) und dann klappt auch die Injection.

    Mögliches Szenario: Ein User ohne Rechte macht sich mittels Kenntnis von SQL und der Datenbankstruktur von WP zum Admin … werde das die Tage vielleicht mal testen, der Beispiel-Code is ja C# ;)

Comments are closed.