WordPress XSS-Hack bei integriertem bbPress

Der beim fiesen Admin beschriebene, aktuelle XSS-Hack für WordPress betrifft nicht nur WordPress-Blogs mit einer Benutzerregistrierung, sondern auch jedes WordPress mit einem integrierten bbPress-Forum, selbst wenn die Benutzerregistrierung im Blog abgeschaltet wurde.

Es handelt sich bei der bbPress-Integration ja gerade um die Möglichkeit, dass sich WordPress und bbPress eine gemeinsame Benutzerdatenbank teilen. Das hat nicht nur den angenehmen Effekt, dass ein in bbPress registrierter und angemeldeter Benutzer beim Kommentieren nicht mehr seine Daten beim Kommentieren eines Blogeintrages eingeben muss, sondern er erhält auch einen Zugriff auf das WordPress-Dashboard. Damit ist auch der beschriebene Hack möglich.

Angesichts der Tatsache, dass dieser Hack sehr einfach in seiner Durchführung und auch leicht mit einem Skript automatisierbar ist, und angesichts der Tatsache, dass es schon betroffene Blogs gibt, sollte bei jedem WordPress-Anwender, der eine Benutzerregistierung ermöglicht oder ein eingebettetes bbPress-Forum betreibt, die Alarmglocke unüberhörbar sein. Ein Upgrade auf die aktuelle WordPress-Version 2.8.4 ist dringend erforderlich.

(Nachtrag!) Warnung vor bbPress 1.0 „Bechet“

Wichtiger Nachtrag!

Das Problem mit bbPress 1.0 und den nicht dargestellten Beiträgen ist gelöst!

Dieses Problem tritt auf, wenn „schöne Permalinks“ verwendet werden und die Datei .htaccess nicht korrekt oder nicht vorhanden ist. Im Ergebnis hat man dann ein Forum, das auf rätselhafte Weise nur halb funktioniert, sieht aber keinerlei Fehlermeldung. In meinem Fall wurde das gesamte Forum dargestellt, es schien jedoch keine Beiträge mehr zu enthalten, während der RSS-Feed des Forums fehlerfrei war. Ein Blick in die Datenbank zeigt, dass alle Beiträge noch vorhanden sind, dass der Upgrade auf bbPress 1.0 also keine Daten zerstört hat.

Auch ein testweise neu angelegtes Thema (das ist noch möglich) wird korrekt gespeichert und im RSS-Feed, aber nicht innerhalb des Webforums dargestellt.

Die Vorgehensweise zur Lösung des Problemes ist relativ einfach:

  1. Anlegen einer leeren Datei namens .htaccess im bbPress-Verzeichnis, deren Dateirechte es gestatten, dass sie vom Webserver überschrieben wird.
  2. In der bbPress-Verwaltung die Seite Einstellungen / Permalinks aufrufen.
  3. Dort ist die gewählte Permalink-Struktur angewählt und es gibt keinen Hinweis auf einen Fehler. Diese unveränderte Einstellung mit einem Klick auf  „Änderungen speichern“ erneut speichern.

Bei diesem Vorgehen wird eine korrekte .htaccess automatisch angelegt, und das Problem sollte nicht mehr auftreten.

Zu meiner Rechtfertigung sei hier festgestellt, dass diese Problemursache alles andere als offensichtlich war, auch für einen erfahrenen „Webfrickler“. Sie konnte weder durch einen Blick in die Logdatei des Webservers aufgedeckt werden, noch konnte sie durch gewöhnliche Analysen erkannt werden. Tatsächlich habe ich einen Hinweis auf die Natur des Problemes erhalten, als ich in der „Verzweiflung“ einfach einmal die hübschen Permalinks abschaltete, danach kam ich von allein auf die mögliche Ursache.

Ich hoffe, dass diese Anweisung auch anderen Nutzern mit ähnlichen Problemen hilft.

Der ursprüngliche, etwas panische Warnhinweis bleibt hier zum Zweck der Dokumentation und zu meiner Schande stehen… ;-)

Ursprünglicher Hinweis

Es hätte so schön sein können, endlich eine richtige Release von bbPress.

Ich kann allerdings vor dem Update nur warnen, denn er führt zu einem sehr leeren Forum. Es ist zwar weiterhin möglich, einen Beitrag zu verfassen, auch stehen die ganzen alten Einträge in der Datenbank, sie werden aber nicht mehr sichtbar.

Wie das wirkt, kann man zurzeit hier im Forum betrachten. Es wirkt sehr „aufgeräumt“, entspricht aber nicht gerade den Wünschen, die man haben wird, wenn man ein Forum betreibt.

Ich habe noch nicht überprüft, ob es sich dabei um ein Problem im Zusammenhang mit dem Update handelt oder ob dieses Problem auch mit einem neu aufgesetzten bbPress in der Version 1.0 auftritt, und ich habe jetzt auch nicht die Zeit, das genauer zu überprüfen, da ich diesen Rechnerplatz verlassen muss. Aber ich gehe davon aus, dass es sich um ein Update-Problem handelt, da ein solcher Fehler gewiss aufgefallen wäre. Vor diesem Update kann ich also nur ganz dringend warnen.