Sicherheitslöcher in WordPress [UDPATE]
Lt. einem Advisory des Neo Security Team lässt sich WordPress (DE) 2.0.1 und ältere Versionen für Cross-Site-Scripting-Attacken missbrauchen. Dabei findet JavaScript in Kommentaren Verwendung. Anfällig sind alle WordPress-Installationen, bei denen Kommentare nicht moderiert werden.
(Weitere Informationen auch bei Heise.)
UPDATE 2006-03-02 13:15:
Ich habe gerade die sicherheitsrelevanten Zeilen in wp-comments-post.php geändert. Da es z.Z. noch keinen offiziellen Patch gibt, überschreibt einfach die bestehende PHP-Datei im root-Verzeichnis (“/”) durch den Patch (2.0.1.1). Danach stehen dem Kommentator keine HTML-/JS-Tags mehr in der Kommentarfunktion zur Verfügung.
ANMERKUNG 2006-03-02 14:23:
Wenn – nach dem Einspielen des obigen Patches – ein solcher Exploit versucht wird, wird dieser zwar als Kommentar, entsprechend mit gequoteten Sonderzeichen, in die Datenbank geschrieben, taucht aber weder im FE, noch im BE auf! Also ab und zu mal in die Datenbank mittels z. B. phpmyadmin schauen ;-).
UPDATE 2006-03-02 19:20:
Jetzt habe ich _alle_ sicherheitsbedenklichen PHP-Files gepatchet und entsprechend kommentiert. Die alten Files müssen einfach nur mit denen im Patch (2.0.1.2) enthaltenen, neuen Dateien (18) überschrieben werden. Das ist alles, der obige Patch 2.0.1.1 ist auch in 2.0.1.2 enthalten. Weiteres Customizing ist nicht notwenig! (PATCHED & TESTED BY STELLWAG.US)
UDPATE 2006-03-02 20:41:
Bei den obigen Patches 2.0.1.{1,2} wurden aufgrund folgender Zeilen Umlaute defekt dargestellt.
$comment_author_email = htmlentities(trim($_POST['email']));
$comment_author_url = htmlentities(trim($_POST['url']));
$comment_content = htmlentities(trim($_POST['comment']));
Der Patch 2.0.1.3 behebt diese Unstimmigkeit mit Hilfe der Verwendung von htmlspecialchars(). Alle oberen Bugfixes sind im 2.0.1.3er auch enthalten ;-). Danke an WolliW für den Hinweis!
UPDATE 2006-03-02 21:24:
So, jetzt funktioniert es aber! Weitere Informationen weiter unten ;-). Kumulativer Patch (2.0.1.4).
2006-03-02 at 16:01:51 (+0100)
[…] Offensichtlich alles nicht so schlimm. Einen Patch für die wp-comments-post.php gibt es bei Stellwag. […]
2006-03-02 at 16:04:28 (+0100)
Sicherheitslücke in WP 2.0.1 oder Heise Luft…
Heise versorgt uns mit News. Hausverstand muss jeder selber mitbringen. Panik ist nicht nötig. Oder soll nur mal wieder ein Open Source mies gemacht werden.
……
2006-03-02 at 20:38:14 (+0100)
Wieso denn ein (c) in den Files? Die Abfrage stammt doch direkt von hier, oder?
Apropos: Läuft PHP als CGI, wird die Funktion fehlschlagen, siehe hier…
2006-03-02 at 20:44:43 (+0100)
Sicherheitslücke in WordPress?…
Auf der Webseite des Neo Security Teams wurde ein Hinweis auf ein Fehler im WordPress Code veröffentlicht. Heise berichtete auch darüber.
Durch eine unzureichende Filterung der Kommentare lässt sich JavaScript-Code in diese einbetten, der nach ihr…
2006-03-02 at 20:45:15 (+0100)
[…] Wie jetzt vorgehen? Ist mein Blog noch sicher? Seh ich es Morgen noch am Bildschirm oder wurde es vernichtet? Was muss ich tun? Wirklichen Grund zur Panik gibt es nicht! Eine Erläuterung des Problems gibt es im WordPress.de-Forum. Für die Überängstlichen gibt es einen ersten Patch von Stellwag für Version 2.0.1. Um seinen Server zu entlasten, gibts den Patch-Upload auch bei mir […]
2006-03-02 at 20:50:39 (+0100)
Sorry, aber nach dem Patchen werden beim Kommentieren die Umlaute zerhackt dargestellt werden: öäüß
Leider hilft dabei das o42-Umlau-Plugin auch nicht mehr…
2006-03-02 at 20:52:08 (+0100)
Oh, da hat Kommentar und Update sich gekreuzt 😉
2006-03-02 at 21:00:07 (+0100)
WP Sicherheitslücke? Nicht wirklich……
Viel Wind in allerlei Blogs gibts derzeit um angebliche Sicherheitslücken in WordPress 1.5+ und 2.0+, welche vom Neo Security Team in einem Advisory veröffentlicht wurden. Nachdem auch Heise auf den Zug aufgesprungen ist und die Meldung offenbar ung…
2006-03-02 at 21:00:55 (+0100)
Leider funzt es bei mir auch mit dem Update noch nicht!
Test: Ö Ä Ü ö ä ü ß
2006-03-02 at 21:02:57 (+0100)
Ich arbeite am Problem … Sorry!
2006-03-02 at 21:20:29 (+0100)
So jetzt aber! Korrekt muss es so heißen:
htmlspecialchars(trim($_POST['author']));
$comment_author_email =
htmlspecialchars(trim($_POST['email']));
$comment_author_url =
htmlspecialchars(trim($_POST['url']));
$comment_content =
htmlspecialchars(trim($_POST['comment']));
Für “PHP als CGI” gibt es erstmal keinen Support :-). Mein Patch soll ja nur ein Workaround darstellen, bis es ein offizielles Bugfix gibt.
LG, Philippe
2006-03-02 at 21:27:20 (+0100)
Herzlichen Dank! Jetzt scheint es zu funktionieren 😉
Gruss Wolfgang
2006-03-03 at 09:00:38 (+0100)
Habe die alte capabilities.php wieder aufgespielt, da "deine" wie in der Mail beschrieben Faxen machte.
2006-03-03 at 11:37:36 (+0100)
[…] PS: Wer die Datei wp-comments-post.php nicht selbst ändern will, kann sich hier ein Patch herunterladen. […]
2006-03-03 at 14:56:42 (+0100)
[…] Stellwag.us Hertingsbergstraße 29 | 90522 Oberasbach | Deutschland « Sicherheitslöcher in WordPress [UDPATE] […]
2006-03-04 at 12:03:44 (+0100)
[…] Heise, unser Security Gott hat eine Sicherheitslücke in WordPress festgestellt. Und das Forum meines Vertrauen hat sich natürlich auch damit beschäftigt. Aber don´t Panik, die grösste Sicherheitslücke ist immer noch der Admin. Also ich. Da ich dank stellwag.us gepatch habe, und ab jetzt hier die inoffizielle WordPress 2.0.1.4 läuft, will ich mir hier noch kurz notieren, um welche Files es sich handelt. Diese befinden sich noch im Ordner inoffiziellerpatch2.0.1.4 , damit ich später, wenn es offiziell wird, nicht den Überblick verliere. […]