Click2Shell macht aus dem Besuch im WordPress-Adminbereich eine erzwungene Theme-Installation

Click2Shell nutzt eine WordPress-Lücke (CVSS 7,1), um per Admin-Klick ein Theme zu installieren. Mit anfälligem Theme droht RCE. Fix in Version 7.1.1.

Von künstlicher Intelligenz erzeugter Text, ohne menschliche Überprüfung veröffentlicht. KI-Transparenz

Click2Shell macht aus dem Besuch im WordPress-Adminbereich eine erzwungene Theme-Installation
Schwachstellen

Illustration mit KI erzeugt

Eine kürzlich geschlossene Sicherheitslücke im WordPress-Kern ermöglicht es Angreifern, den Browser eines authentifizierten Administrators dazu zu bringen, ein ausgewähltes Theme aus dem offiziellen WordPress.org-Verzeichnis zu installieren und in der Vorschau anzuzeigen. Forschende von pwn.ai bezeichneten die daraus resultierende Technik als Click2Shell.

Die Sicherheitslücke im WordPress-Kern wird als schwerwiegend eingestuft und erreicht einen CVSS-Score von 7,1. Sie ermöglicht weder das direkte Hochladen beliebiger Dateien noch die unmittelbare Codeausführung. Die Forschenden demonstrierten jedoch, dass sich die Lücke mit einer separaten Schwachstelle in einem WordPress-Theme kombinieren lässt. Dadurch kann serverseitige Codeausführung entstehen, wodurch die vollständige Angriffskette einen kritischen Wert von 9,6 erreicht.

WordPress behob das Problem mit Version 7.1.1, die am 17. September veröffentlicht wurde, und stellte entsprechende Sicherheitsupdates für unterstützte Zweige bis zurück zu WordPress 4.7 bereit. Derzeit gibt es keine Hinweise darauf, dass Angreifer Click2Shell in freier Wildbahn ausgenutzt haben.

Eine manipulierte URL bringt WordPress dazu, selbst auf „Install“ zu klicken

Click2Shell nutzt die uneinheitliche Verarbeitung desselben von Angreifern kontrollierten URL-Werts durch das WordPress.org-Theme-Verzeichnis und durch JavaScript, das im Browser des Administrators ausgeführt wird.

Das Theme-Verzeichnis interpretiert den übermittelten Wert als herkömmlichen Themennamen und liefert ein legitimes, auf WordPress.org gehostetes Theme zurück. Der Code im Browser verwendet den Wert anschließend erneut – einschließlich der vom Angreifer hinzugefügten Satzzeichen –, um ein Element auf der Seite zu identifizieren.

Dadurch wählt der Code das Install-Steuerelement des Themes aus. Das JavaScript von WordPress löst die Aktion anschließend aus, ohne dass der Administrator manuell auf die Installationsschaltfläche klicken muss.

Der Browser stellt alle für die Autorisierung erforderlichen Informationen bereit, da das Opfer bereits mit Administratorrechten angemeldet ist. Dazu gehören die authentifizierte WordPress-Sitzung und das Sicherheitstoken, mit dem die Installation bestätigt wird. Der Angreifer muss daher weder Zugangsdaten stehlen noch das Token erraten oder sich direkt an der Website authentifizieren.

Eine Benutzerinteraktion ist dennoch erforderlich. Das Ziel muss als Administrator angemeldet sein und den speziell präparierten Link öffnen.

Diese Voraussetzung schränkt den Angriff gegenüber einem vollständig unauthentifizierten Remote-Exploit ein. Gleichzeitig eignet sich die URL dadurch für Phishing, Direktnachrichten, Support-Vorwände oder andere Methoden, mit denen Website-Administratoren erreicht werden sollen.

Auch ein inaktives Theme kann ausführbares PHP offenlegen

Die erzwungene Installation aktiviert das ausgewählte Theme nicht. Daher behält die öffentliche Website ihr bestehendes Design bei, und Administratoren bemerken möglicherweise zunächst nicht, dass ein weiteres Theme auf dem Server vorhanden ist.

Inaktiv bedeutet jedoch nicht wirkungslos.

WordPress kann PHP-Code eines inaktiven Themes laden und ausführen, wenn eine Vorschau über den Customizer erzeugt wird. Click2Shell macht sich dieses Verhalten zunutze: Nach der erzwungenen Installation wechselt der Angriff in die Vorschauverarbeitung. Dort kann anfälliger Theme-Code erreichbar werden, ohne das normalerweise aktive Theme der Website zu ändern.

Diese Unterscheidung bestimmt die praktische Auswirkung der Sicherheitslücke. Das Problem im WordPress-Kern installiert ein vom Angreifer aus dem offiziellen Verzeichnis ausgewähltes, legitimes Theme. Von sich aus kann es weder ein beliebiges Theme-ZIP hochladen noch direkt vom Angreifer geschriebenes PHP einschleusen.

Für eine serverseitige Codeausführung muss das ausgewählte Theme eine weitere ausnutzbare Schwachstelle enthalten. Click2Shell ermöglicht es, dieses Theme auf dem Zielsystem zu platzieren und WordPress dazu zu bringen, seinen Code zu verarbeiten.

Mobile Repair Zone vervollständigte die Proof-of-Concept-Angriffskette

Für ihre Demonstration wählten die Forschenden von pwn.ai das Theme Mobile Repair Zone aus. Ein anfälliger Hintergrund-Handler in diesem Theme akzeptierte eine Webadresse aus einer Anfrage, lud ein Paket von dem angegebenen Ort herunter und führte Code aus diesem Paket aus.

Der Handler überprüfte nicht, ob der Anfragende über die erforderlichen Berechtigungen verfügte. Außerdem verlangte er kein Sicherheitstoken.

Durch diese fehlenden Kontrollen eignete sich der Handler als zweite Stufe des Angriffs. Zunächst brachte Click2Shell WordPress dazu, Mobile Repair Zone von WordPress.org zu installieren. Anschließend lud WordPress das inaktive Theme beim Erzeugen einer Customizer-Vorschau. Sobald der anfällige Handler verfügbar war, konnte der Angreifer ihn anweisen, vom Angreifer kontrollierten Code auf dem Server abzurufen und auszuführen.

Es handelt sich dabei um einen Angriff mit mehreren Komponenten und nicht um eine eigenständige Remote-Code-Execution-Schwachstelle im WordPress-Kern. Die beiden Komponenten haben unterschiedliche Aufgaben:

  1. Click2Shell missbraucht die Sitzung eines Administrators, um ein legitimes Theme zu installieren und in der Vorschau anzuzeigen.
  2. Die Schwachstelle im Theme ruft ein entferntes Paket ab und führt dessen Inhalte ohne ausreichende Berechtigungsprüfungen aus.

Die kritische Bewertung von 9,6 gilt für diesen vollständigen Angriffsweg. Die Installationsschwachstelle im WordPress-Kern allein erreicht einen Wert von 7,1.

WordPress 6.0 bis zu den Versionen vor der Fehlerbehebung sind betroffen

Die Sicherheitslücke wurde in WordPress 6.0 und allen späteren Versionen bis zu den unmittelbar vor der Korrektur veröffentlichten Versionen bestätigt. Die primäre fehlerbereinigte Version ist WordPress 7.1.1.

WordPress veröffentlichte außerdem entsprechende Sicherheitsupdates für die jeweils unterstützten Zweige. Die abgedeckten Versionen reichen bis zurück zu Version 4.7. Administratoren müssen nicht unbedingt jede Installation auf den Funktionszweig 7.1 aktualisieren, sie müssen jedoch das passende Sicherheitsupdate für den von ihnen betriebenen Zweig einspielen.

Websites, die für automatische Sicherheitsupdates des WordPress-Kerns konfiguriert sind, sollten die Korrektur automatisch erhalten. Betreiber sollten die installierte Version dennoch überprüfen, statt von einem erfolgreichen Abschluss des Updates auszugehen – insbesondere dann, wenn Dateiberechtigungen, Bereitstellungskontrollen oder Einstellungen der Updateverwaltung die automatische Installation unterbrechen können.

WordPress hat keine eigene Einstufung des Schweregrads von Click2Shell veröffentlicht. Bisher wurde keine CVE-Kennung vergeben, obwohl pwn.ai erklärte, WordPress plane, eine solche hinzuzufügen.

Es wurden keine öffentlichen Indicators of Compromise bereitgestellt. Auch das Format der betroffenen URL und andere Artefakte zur Erkennung sind nach den derzeit verfügbaren Informationen nicht bekannt.

Ein Update des WordPress-Kerns schließt den Weg zur erzwungenen Installation

Administratoren sollten WordPress 7.1.1 oder das entsprechende Sicherheitsupdate für den jeweils unterstützten Zweig installieren. Die Aktualisierung des WordPress-Kerns blockiert die demonstrierte Installations- und Vorschau-Technik unabhängig davon, ob Mobile Repair Zone oder ein anderes potenziell anfälliges Theme vorhanden ist.

Weder WordPress noch pwn.ai haben eine separate technische Umgehungslösung für Systeme bereitgestellt, die nicht sofort gepatcht werden können. Bis zur Installation eines Updates sollten Administratoren vermeiden, nicht vertrauenswürdige Links zu öffnen, während sie bei WordPress angemeldet sind. Dies gilt besonders für URLs, die als Ressourcen für Websiteverwaltung, Themes oder Support präsentiert werden.

Diese Vorsichtsmaßnahme reduziert lediglich die Gefährdung. Sie beseitigt das anfällige Verhalten nicht.

Verteidiger können außerdem die installierten Themes auf unerwartete Ergänzungen überprüfen, einschließlich weiterhin inaktiver Themes. Da Click2Shell das ausgewählte Theme nicht aktivieren muss, würde eine Überwachung, die ausschließlich Änderungen am aktiven Theme erfasst, das von den Forschenden demonstrierte Verhalten übersehen. Eine nicht erklärbare Theme-Installation sollte Anlass sein, die Aktivitäten von Administratoren und die anschließende Verarbeitung durch den Customizer zu untersuchen.

Click2Shell ist nicht mit wp2shell identisch

Click2Shell folgt auf eine weitere von pwn.ai entdeckte und im August behobene Schwachstelle im WordPress-Kern. Die frühere Sicherheitslücke betraf den Anmeldebildschirm und konnte ebenfalls mit anderen Schwachstellen kombiniert werden, um eine Codeausführung zu ermöglichen. WordPress bewertete ihr Risiko jedoch enger als die Forschenden.

Eine andere im Juli offengelegte Sicherheitslücke im WordPress-Kern namens wp2shell steht nicht mit der Arbeit von pwn.ai an Click2Shell in Verbindung. Ihre Ausnutzungsbedingungen sind gravierender: wp2shell erfordert weder eine Authentifizierung noch einen Klick des Opfers. Außerdem hat CISA die Schwachstelle als in realen Angriffen ausgenutzt eingestuft.

Für Click2Shell gibt es keine vergleichbaren Hinweise auf eine aktive Ausnutzung. Die Voraussetzung, dass ein authentifizierter Administrator eine bösartige URL öffnet, stellt eine bedeutende Hürde dar. Der Proof of Concept zeigt jedoch, wie diese eine Aktion mehrere Sicherheitsgrenzen überwinden kann – von der Auswahl eines Elements im Browser über die Theme-Installation und das Laden von PHP während der Vorschauerstellung bis hin zur serverseitigen Ausführung, wenn eine zweite anfällige Komponente vorhanden ist.

Auch interessant

Quellen

Dieser Artikel ist eine eigenständige Aufbereitung auf Basis der folgenden Quellen.

Verwandte ThemenClick2ShellWordPressWordPress-SicherheitTheme-InstallationRCEWordPress Update
Zurück zur Startseite