Lücke in WordPress ermöglicht Aussperren des Admins [Update]

Ursache des Problems ist ein Fehler in der Funktion zum Zurücksetzen des Passworts. Für einen Angriff genügt der Aufruf einer URL im Browser. Der Patch besteht aus einer Zeile.

In Pocket speichern vorlesen Druckansicht 64 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Daniel Bachfeld

Eine Schwachstelle in der aktuellen Version 2.8.3 von WordPress und vorherigen Versionen lässt sich ausnutzen, um Administratoren temporär aus dem System auszusperren – dazu reicht ein Browser. Ursache des Problems ist ein Fehler in der Funktion zum Zurücksetzen des Passworts. Normalerweise erhält ein Anwender zum Resetten seines Passworts einen Link an seine Mail-Adresse geschickt. Beim Aufruf des Links löscht WordPress das alte Passwort, generiert ein neues und verschickt dies abermals per Mail.

Durch die Lücke genügt es aber, das PHP-Modul wp-login.php aufzurufen und den Key-Parameter statt mit einem einzelnen Wert mit einem Array zu füllen, um das Kennwort des WordPress-Admins unbefugt zu löschen. [Update] Allerdings generiert WordPress ein neues Passwort und verschickt es an das Konto des Admins.[/Update]. Ein Skript, das wiederholt das Kennwort zurücksetzt, könnte den Admin von einem erfolgreichen Login abhalten.

Die Schwachstelle lässt sich – anders als in der ersten Fassung des Fehlerberichts von Laurent Gaffié behauptet – jedoch nicht zum Einbruch in ein System ausnutzen. Gaffié hat bereits eine Korrektur seines ersten Berichts veröffentlicht.

Die WordPress-Entwickler sind über das Problem informiert und haben den Fehler im Entwicklungszweig korrigiert, in dem sie die Übergabe von Arrays an die Variable Key blockieren. Dazu haben sie in wp-login.php die Zeile

if ( empty( $key ) )

durch

if ( empty( $key ) || is_array( $key ) )

ersetzt.

Administratoren, die bereits aus ihrem System ausgesperrt wurden, sollten das "Emergency Password Reset Script" für WordPress benutzen, für das allerdings ein Zugriff per SSH oder andere Dienste auf das System notwendig sind. Hinweise zur weiteren Vorgehensweise finden sich hier: Resetting Your Password.

Siehe dazu auch:

(dab)