Die „c't“ berichtet in Ausgabe 23/2020 von einer Sicherheitslücke in Wordpress. Bei einer Standardinstallation ist automatisch auch die API von Wordpress von außen erreichbar. Damit lassen sich Medieninhalte automatisiert auslesen, selbst wenn sie noch nirgends auf der Website eingebaut sind. Auch passwortverschlüsselte Seiten sind so zwar nicht erreichbar, wohl aber die darauf eingesetzten Medieninhalte. Mir ist klar, dass jede ZIP-Datei oder Powerpoint-Präsentation, sofern einmal in Wordpress hochgeladen, automatisch bei Kenntnis des Links frei zugänglich ist. Über die API jedoch können automatisiert sämtliche Medieninhalte ausgelesen werden, auch ohne Kenntnis des jeweiligen Links.
Überprüfen lässt sich die eigene Wordpress-Installation durch einen Aufruf von domain.de/wp-json. Erscheint hier eine ausführliche Antwort, ist die Installation angreifbar.
„c't“ empfiehlt als einen Fix, folgenden Code in die functions.php des Themes aufzunehmen:
[FONT=Courier New]/**
* hinzugefügt ct-Tipp Sicherheit */
add_filter( 'rest_authentication_errors', function( $result ) {
if ( ! empty( $result ) ) {
return $result;
}
if ( ! is_user_logged_in() ) {
return new WP_Error( '401', 'not allowed.', array('status' => 401) );
}
return $result;
});
/** Ende ct-Tipp */[/FONT]
Allerdings könnte dieser funktionstüchtige Code bei einem Update des Themes wieder überschrieben werden. Gibt es Pläne bei Wordpress, die Erreichbarkeit der API von außen generell auszuschalten und nur bei Bedarf per Schalter einzuschalten? Wie kann man das ohne Eingriff in die functions.php des Themes eleganter lösen?