Technisch liegt die Ursache in einer unauthentifizierten AJAX-Aktion mit dem Namen wwlc_file_upload_handler. Diese prüft die Dateiendung eines Uploads gegen eine Positivliste — allerdings stammt diese Liste aus dem vom Nutzer kontrollierten Anfrageparameter file_settings.

Damit lässt sich schlicht „php" zu den erlaubten Dateitypen hinzufügen, woraufhin das Plugin ausführbare PHP-Dateien akzeptiert. Eine Authentifizierung ist dafür nicht erforderlich, was die Ausnutzung trivial macht.

„Der Angreifer sendet eine Anfrage an die AJAX-Aktion wwlc_file_upload_handler, die einen gefälschten file_settings-Parameter und eine bösartige Datei mit der Endung .php enthält", erläutert Wordfence. „Die hochgeladene shell.php ist eine PHP-Webshell, die Details zum Host meldet und ein browserbasiertes Upload-Formular bereitstellt, um weitere Schaddateien auf die Website zu schreiben."

Anzeige

Die Ausnutzung hält trotz des seit Februar verfügbaren Updates an. Defiant zufolge blockierte Wordfence insgesamt über 100.000 Angriffsversuche, mit ausgeprägten Wellen zwischen dem 4. und 17. Juni sowie an einzelnen Tagen Anfang Juli und Ende August.

Wordfence hat zudem eine Liste besonders auffälliger IP-Adressen veröffentlicht, von denen jeweils Zehntausende Ausnutzungsversuche ausgingen. Betreibern wird empfohlen, diese Adressen auf eine Sperrliste zu setzen und das Plugin auf Version 2.0.3.2 oder neuer zu aktualisieren, in der die Schwachstelle behoben ist.

Für die Suche nach Kompromittierungen raten die Forscher, die Upload-Verzeichnisse auf unerwartete oder kürzlich angelegte PHP-Dateien zu durchsuchen und die Protokolle auf Anfragen an /wp-admin/admin-ajax.php mit Aufruf von wwlc_file_upload_handler zu prüfen. Unbekannte Administratorkonten sollten entfernt werden.

Bestätigt sich ein erfolgreicher Angriff, empfiehlt Wordfence, die Website aus einem sauberen Backup wiederherzustellen. Das Entfernen sämtlicher Persistenzmechanismen, angelegter Nutzer und Hintertüren sei andernfalls nur schwer vollständig zu bewerkstelligen.