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 = htmlentities(trim($_POST['author']));
$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).