Technische Details und ein Proof-of-Concept-Code für eine neue Schwachstelle im WordPress-Kern wurden veröffentlicht. Die Forscher nannten sie Click2Shell. Sie ermöglicht eine Exploit-Kette zur entfernten Ausführung von PHP-Code auf dem Server, ohne dass der Angreifer direkt authentifiziert sein muss. WordPress behob die Schwachstelle in Version 7.1.1, die vergangene Woche veröffentlicht wurde. Die Veröffentlichung des Proof-of-Concept-Exploits macht die Aktualisierung betroffener Websites jedoch dringlicher.
Wie funktioniert die Kette?
Der Forscher Paulos Yibelo von der Penetrationstest-Plattform pwn.ai entdeckte die Schwachstelle und meldete sie WordPress am 22. August. Dem Bericht zufolge wird ein Wert aus einem Theme-Vorschau-Link einmal über die Themes API in WordPress.org interpretiert und anschließend von JavaScript im Browser des Administrators unsicher verarbeitet.
Dadurch kann ein Theme aus dem offiziellen Verzeichnis zur Website hinzugefügt werden, ohne dass der Administrator es ausdrücklich installiert. Selbst wenn das Theme nicht aktiviert ist, kann darin enthaltener PHP-Code während der Vorschau im Customizer ausgeführt werden. Um den Angriff abzuschließen, sendet der Angreifer einen speziell präparierten Link. Dieser muss jedoch von einem an der Website angemeldeten Administrator besucht werden.
Was kann nach der Ausnutzung geschehen?
Die Forscher verwendeten ein anfälliges Theme als zweiten Teil der Kette, um vom Angreifer festgelegten PHP-Code auszuführen. Der vollständige Bericht weist auf die Möglichkeit hin, Befehle auf dem Server auszuführen, darunter Dateien zu verändern oder zu löschen sowie auf Benutzerdaten und die Datei wp-config.php zuzugreifen, die Datenbank-Zugangsdaten und Authentifizierungsgeheimnisse enthält.
Dies kann die Erstellung bösartiger Administratorkonten oder das Einschleusen schädlicher Skripte in die Website ermöglichen. Außerdem kann die grundlegende Schwachstelle in WordPress Core 7.1.0 und älteren Versionen laut dem Forscher dazu verwendet werden, eine Website dazu zu zwingen, jedes andere anfällige Theme zu installieren, das im WordPress.org-Verzeichnis vorhanden ist.
Wer verfügt über die erforderlichen Berechtigungen?
Der Angreifer benötigt weder ein WordPress-Konto noch ein Nonce-Token für die Installation oder eigene besondere Administratorrechte. Die Click2Shell-Kette funktioniert jedoch nicht allein durch das Senden der Anfrage; erforderlich ist die Interaktion eines angemeldeten Administrators mit dem Link. Das WordPress-Sicherheitsunternehmen Patchstack erklärte, dass Konten mit den Rollen Author und Editor nicht über die erforderlichen Berechtigungen zur Installation von Themes verfügen.
Der Link kann den Administrator über gezieltes Phishing erreichen oder über eine bereits vorhandene XSS-Schwachstelle, durch die sein Browser die Anfrage sendet. Daher beseitigt die erforderliche Interaktion des Administrators nicht die Gefährlichkeit der Schwachstelle. Sie begrenzt jedoch das Angriffsszenario und macht daraus keinen vollständig automatisierten Angriff aus der Ferne.
Was ändert sich praktisch?
WordPress behob das Problem, indem der Theme-Name maskiert wird, bevor er in einem jQuery-Selektor verwendet wird, und indem der Selektor auf tatsächliche Theme-Karten beschränkt wird. Patchstack empfiehlt die Aktualisierung auf Version 7.1.1 oder neuer, insbesondere nach der Veröffentlichung vollständiger Details und eines Proof-of-Concept-Codes.
Websites, die nicht sofort aktualisiert werden können, können laut Patchstack durch die Aktivierung der Einstellung DISALLOW_FILE_MODS daran gehindert werden, dass sie zur Installation eines bösartigen Themes oder Plugins gezwungen werden. Dies bleibt eine vorübergehende Abhilfemaßnahme und kein Ersatz für die Aktualisierung des WordPress-Kerns sowie die Überprüfung auf unerwartete Änderungen oder Administratorkonten.