WordPress-Schwachstelle kann Codeausführung aus der Ferne ermöglichen

Angreifer mit Autorenrechten und dem passenden Exploit-Code können beliebige Dateien aus dem beliebten CMS löschen. Es gibt einen inoffiziellen Patch.

In Pocket speichern vorlesen Druckansicht 10 Kommentare lesen
Ungepatchte WordPress-Schwachstelle kann Codeausführung aus der Ferne ermöglichen

(Bild: ripstech.com)

Lesezeit: 3 Min.

Eine Schwachstelle im WordPress-Code ermöglicht autorisierten Angreifern unter bestimmten Umständen das Löschen beliebiger Dateien aus der Ferne. Im schlimmsten Fall ist darüber hinaus auch die Ausführung beliebigen Programmcodes möglich.

Voraussetzung für den von Analysesoftware-Hersteller RIPS Technologies entdeckten Angriff sind Programmierkenntnisse sowie der Zugriff auf das WordPress-Backend (mindestens) mit Autorenrechten.

Über die Schwachstelle, die in sämtlichen WordPress-Versionen einschließlich dem aktuellen Release 4.9.6 steckt, hat RIPS Technologies das WordPress-Team eigenen Angaben zufolge bereits im November 2017 informiert. Einen Patch gibt es bislang dennoch nicht.

Der Angriff zielt auf die WordPress-Datei post.php, genauer: auf die Variable $meta ['thumb'] ab. Die enthält normalerweise den Pfad zum Vorschaubild einer Mediendatei, ist dank unzureichender Überprüfungen des darin gespeichertes Werts aber leicht manipulierbar.

Der Angriff läuft wie folgt ab: Der als Autor eingeloggte Angreifer legt im Backend einen neuen Beitrag an und lädt dann eine beliebige Mediendatei hoch. Anschließend öffnet er ein (in modernen Browsern üblicherweise bereits integriertes) Developer-Tool, um eine der Datei (beziehungsweise dem Formular) temporär zugeordnete Nonce ("number used once") aus dem Quelltext auszulesen. Diese übergibt er im nächsten Schritt einem selbstgeschriebenen (lokal im Browser laufenden) Skript – zusammen mit dem Pfad zu einer beliebigen Datei auf dem Server, die er löschen möchte.

Die Überprüfungen des thumb-Werts beschränken sich vor dem Löschen darauf, ob er vorhanden ist bzw. noch anderweitig verwendet wird.

(Bild: ripstech.com)

Das Skript schickt einen HTTP-POST-Request an den Webserver mit der WordPress-Installation. Die mitgesendete Nonce dient dabei als sogenannter Anti-CSRF-Token. Der vom Angreifer übermittelte Dateipfad überschreibt den alten thumb-Wert der Mediendatei in der Datenbank.

Wenn der Angreifer die Mediendatei nun wieder löscht, wird dabei auch die Datei im thumb-Pfad gelöscht. Handelt es sich dabei beispielsweise um die WordPress-Datei wp-config.php, verliert WordPress den Zugang zur eigenen Datenbank und der Installationsprozess wird beim nächsten Aufruf der Seite geladen. Der Angreifer könnte anschließend eigene Admin-Zugangsdaten setzen und letztlich beliebigen Code auf dem Server starten.

Da es Angreifern zunächst gelingen muss, sich ins Backend einzuloggen, sind vor allem WordPress-Installationen mit mehreren Autoren wie beispielsweise News-Webseiten gefährdet. Bislang wurden keine aktiven Exploits der Schwachstelle beobachtet. Die Verwendung sicherer Username-Passwort-Kombinationen und ein verantwortungsbewusster Umgang können dazu beitragen, Einbrüchen vorzubeugen.

Weitere Details zur Schwachstelle sowie ein Demo-Video mit (obfuskiertem!) Proof-of-Concept-Code hat RIPS Technologies in seinem Blog veröffentlicht. Dort gibt es auch einen inoffiziellen Patch, der den Pfad zum Vorschaubild bereinigen und so das Ausnutzen der Schwachstelle verhindern soll. Die Installation erfolgt auf eigenes Risiko.

[Update 29.06.2018, 11:45]: Die Entwickler des WordPress-Security-Plugins Wordfence haben mittlerweile ein Update für die Wordfence-Firewall veröfentlicht, das ein Ausnutzen der Schwachstelle verhindern soll. Wordfence-Premium-Kunden haben die Aktualisierung bereits automatisch erhalten; an alle anderen Plugin-Nutzer wird es mit 30-tägiger Verzögerung ausgeliefert. Ein offizieller Patch steht weiterhin aus. (ovw)