Sicherheitsleck in WordPress

SicherheitSicherheitsmanagement

Über ein Sicherheitsleck in Wordpress kann ein Angreifer das Admin-Passwort zurücksetzen und den Admin so zumindest zeitweise aus seinem Weblog aussperren.

Wer den Reset seines WordPress-Passworts anstößt, erhält von WordPress eine Mail mit einem Bestätigungslink. Wird dieser angeklickt, verschickt das Weblog-System eine weitere Mail mit dem neuen Passwort. Der Bestätigungslink ist aber immer gleich aufgebaut und sieht beispielsweise so aus:

http://domainname.tld/wordpress/wp-login.php?action=rp&key=dkjADKJas28eDAKDH

Ruft man nun eine solche URL auf und macht aus der Variablen key ein Array (wp-login.php?action=rp&key[]=), dann wird das Passwort zurückgesetzt, ohne dass der Admin das zuvor angestoßen hätte. WordPress verschickt natürlich die Mail mit dem neuen Passwort, doch bis dieses eintrifft, gelangt der Admin nicht in sein Weblog. Per Skript lässt sich der Aufruf der URL beliebig wiederholen, um den Admin längerfristig auszusperren.

Die WordPress-Entwickler arbeiten bereits an einem Update. Man kann die wp-login.php aber auch manuell abdichten, indem man

if ( empty( $key ) )

durch

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

ersetzt, um zu verhindern, dass Arrays übergeben werden. (Daniel Dubsky)