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.

WordPress 2.8.2

Nur, um zu so vielen Klagen über Rauheiten und Fehler auch mal etwas Gutes mitzuteilen: Diese Website läuft jetzt mit WordPress 2.8.2, der Upgrade war problemlos und die Integration mit bbPress funktioniert weiterhin reibungslos. Wenn das doch nur immer so wäre

Wie lange noch bbPress 0.9?

Es ist ja keineswegs so, dass bbPress 0.9 eine schlechte Software gewesen wäre – der Kern des Systemes ist getestet und ausgereift, es gibt keine bekannten Sicherheitsprobleme und jede Menge frei verfügbarer Plugins, die zum großen Teil ebenfalls ausgereift sind und gut funktionieren.

bbPress 1.0 ist nicht einfach „nur“ ein kleiner Update mit einer Handvoll Korrekturen, sondern ein im Kern völlig anderes und von Grund auf neu geschriebenes System. Dieser Code ist zwar in Form der Release-Kandidaten über Monate getestet worden, er tritt aber dem Code von bbPress 0.9 gegenüber, der von einer viel größeren Anwendergruppe – auch ich gehörte dazu – über Jahre hinweg getestet wurde. Dieses System ist zwar sorgfältig programmiert, es sind aber für die nächsten Wochen noch viele Fehlerbereinigungen zu erwarten, weil mit der Release erstmals eine größere Nutzerbasis täglich mit dem System arbeiten wird und dabei zwangsläufig bislang unentdeckte Fehler und Unvollkommenheiten finden wird.

Hieraus kann man durchaus verschiedene Schlüsse ziehen, _ck_ fasst im offiziellen Support-Forum einen möglichen Standpunkt sehr knapp zusammen:

10 Gründe, warum man mit dem Upgrade zu bbPress 1.0 noch einige Monate warten sollte:

  1. Ihre 0.9-Installation ist stabil und der Kern des Systemes ist sicher
  2. Etwa die Hälfte der Plugins für 0.9 funktioniert gegenwärtig nicht mit 1.0
  3. Nachdem Sie einen Upgrade gemacht haben, können Sie wegen der Änderungen in der Datenbank keinen Downgrade machen
  4. Es hat keine wesentlichen neuen Funktionsmerkmale gegenüber 0.9
  5. Es verwendet nicht den bewährten 0.9-Kern, große Teile wurden für BackPress neu geschrieben
  6. Es ist langsamer und verwendet 50 Prozent mehr Code, um die gleiche Ausgabe wie 0.9 zu erzeugen
  7. Es verwendet für eine Seitendarstellung mehr Datenbankabfragen als 0.9
  8. Sein Code wurde nur für Monate von Fehlern bereinigt, im Gegensatz zu den Jahren für 0.8 und 0.9
  9. Der Release-Kandidat wurde in Eile erstellt, einige Änderungen wurden erst vor ein paar Tagen durchgeführt und sind nicht gut getestet
  10. Version 1.0.1 wird in wenigen Tagen draußen sein (wenn nicht gar in wenigen Stunden)

Das kann man als „vernichtendes Urteil“ sehen, man kann daraus aber auch den Schluss ziehen, den frooyo zu diesem Thema gezogen hat:

Alles, was du beschreibst, ist ein Grund, 1.0 zu benutzen. Je mehr Menschen es benutzen, desto besser wird es werden, weil mehr Menschen die Dinge, die ihnen auffallen, melden werden.

Jedem zu erzählen, dass man einige Monate warten sollte, wird nur dazu führen, dass es niemand benutzt. Und dann wird in einigen Monaten der Kern von bbPress um keinen Deut besser sein als zum Zeitpunkt seiner Veröffentlichung, weil niemand aus der Nutzergemeinschaft am Prozess der Verbesserung beteiligt ist.

Schau dir einfach einmal an, wie sehr sich die Anwender in die Mitarbeit gestürzt haben, nachdem Sam den Namen in „Release-Kandidat“ geändert hat.

In den vergangenen Wochen gab es wahrscheinlich mehr Aktivität als in den ganzen sechs Monaten zuvor. […]

Das sind zwei ernst zu nehmende Standpunkte. Es ist wahr, dass es zurzeit keinen wirklichen Grund für einen Upgrade von 0.9 auf 1.0 gibt, dass aber in vielen Fällen nach dem Upgrade Probleme auftauchen werden – dies war auch in diesem kleinen bbPress-Forum der Fall, dass innerhalb dieser Site zum Austausch der deutschen Nutzer und als Demonstration der Sprachdatei betrieben wird. Es ist fernerhin wahr, dass bbPress 1.0 sehr viel mehr Ressourcen auf dem Server verbraucht als 0.9, und dass der derzeitige, exzessive Ressourcenverbrauch sogar dazu führen kann, dass der Hoster den Betrieb des Forums nicht duldet. Es ist aber auch wahr, dass sich eine Software nur verbessert, wenn sie aktiv und von vielen Menschen benutzt wird, und wenn diese Menschen auch bereit sind, Fehler und Schwächen an die Entwickler zu melden.

Wer bbPress einsetzt und damit ein Forum betreibt, auf dessen reibungslose Funktion und Performanz es ankommt, sollte den Upgrade zurzeit wirklich besser meiden – er ist unnötig. Wenn Plugins im Forum „verbaut“ sind, kann der Upgrade sogar gefährlich sein, da nicht garantiert ist, dass die alten Plugins in der neuen Version fehlerfrei funktionieren. In diesem Fall sollte mindestens so lange gewartet werden, bis für jedes Plugin eine aktualisierte Version verfügbar ist, die auch unter bbPress 1.0 funktioniert. Dies wird einige Tage oder auch Wochen dauern, aber das hängt von den jeweiligen Plugin-Entwicklern ab.

Wer hingegen gewillt ist, die aktuelle stabile Version zu verwenden – diese kann ja immerhin mit dem aktuellen WordPress integriert werden – und wer weiß, dass es keine Probleme mit seinem Webhoster geben wird und fernerhin dazu bereit ist, auftretende Fehler und Schwächen an die Entwickler zu melden und auch in den nächsten Monaten immer wieder einmal kurzfristig neue Versionen einzuspielen, der sollte es ruhig wagen. Das hier integrierte Forum dient auch als online verfügbare Demonstration der hier veröffentlichten Sprachdatei und wird nach Möglichkeit immer mit der aktuellen bbPress-Version betrieben.

In jedem Fall sollte ein Upgrade auf 1.0 im Bewusstsein erfolgen, dass er keine Kleinigkeit ist. Vorher ist unbedingt ein vollständiger Backup der Datenbank und aller Dateien des Forums anzufertigen, damit der vorherige, laufende Zustand des Forums im Falle unlösbar erscheinender Probleme wiederhergestellt werden kann.

Angesichts der Tatsache, dass bbPress 0.9 noch in vielen Installationen eingesetzt wird, ist es ja eine interessante Frage, wie lange diese Version noch offiziell von den Entwicklern unterstützt werden soll, damit die Anwender mit neu entdeckten Fehlern und Sicherheitsproblemen nicht allein gelassen werden.

Und genau das ist der Grund für diese etwas ausschweifende Meldung, denn Sam Bauers hat im offiziellen (englichsprachigen) bbPress-Forum genau diese Frage aufgeworfen und eine Umfrage gestartet, ob bbPress 0.9 für sechs, zwölf, achtzehn oder vierundzwanzig Monate offiziell unterstützt und gepflegt werden soll. Um daran teilzunehmen, bedarf es nur rudimentärer Englischkenntnisse, und ich würde jeden aktiven bbPress-Nutzer darum bitten, sich diese eine Minute Zeit zu nehmen und dort seinen Wunsch in dieser Sache zu äußern.

Also: Teilen Sie Ihren Wunsch mit!