WordPress Click2Shell: Core 7.1.1 behebt PHP-Code-Ausführung
KI-generiertes Bild

WordPress Click2Shell: Core 7.1.1 behebt PHP-Code-Ausführung

Click2Shell ist eine CSRF-Schwachstelle im WordPress-Core, die es Angreifern ermöglichte, PHP-Code auf einer Website auszuführen; sie ist in 7.1.1 behoben, aber ein Exploit ist jetzt öffentlich.

WordPress Click2Shell ist der Name, den Sicherheitsforscher einer Cross-Site-Request-Forgery-Schwachstelle (CSRF) im WordPress-Core gegeben haben, dem zentralen Satz von Dateien, aus denen WordPress selbst besteht, im Gegensatz zu den darüber hinzugefügten Plugins und Themes. Der Fehler wurde in WordPress Version 7.1.1 behoben, aber technische Details und ein funktionierender Proof-of-Concept-Exploit sind bereits öffentlich, was Website-Betreiber unter Druck setzt, zeitnah zu aktualisieren. CSRF ist ein Trick, bei dem ein Angreifer den eigenen angemeldeten Browser dazu bringt, eine Anfrage zu senden, die Sie nie beabsichtigt haben. Sie müssen nichts herunterladen oder ein Passwort eingeben, weil die Website der Anfrage vertraut, als hätten Sie sie selbst gestellt.

Die Schwachstelle wurde von dem Sicherheitsforscher Paulos Yibelo entdeckt, der bei pwn.ai arbeitet, einer autonomen Penetration-Testing-Plattform. Laut der veröffentlichten Forschung meldete Yibelo das Problem am 22. August an WordPress. Der Fehler hat keine offizielle Sicherheitskennung und wurde im WordPress-7.1.1-Release behoben. Der vollständige technische Bericht des Forschers liefert einen kompletten Proof of Concept für die serverseitige Remote-Code-Ausführung, also die Fähigkeit, den eigenen Code des Angreifers auf dem Computer auszuführen, der die Website hostet.

Der Mechanismus, der Click2Shell laut den Forschern zugrunde liegt, besteht darin, dass ein Wert aus einer WordPress-Theme-Vorschau-URL zweimal interpretiert wird: einmal von der WordPress.org-Themes-API und ein zweites Mal von einer fehlerhaften Methode in JavaScript, die im Browser des Administrators läuft. Die WordPress.org-Themes-API ist der Katalogdienst, den WordPress-Installationen kontaktieren, wenn sie Themes aus dem offiziellen Verzeichnis nachschlagen, und ein Theme ist ein Paket aus Design- und Codedateien, das das Aussehen einer Website verändert. Weil derselbe Wert erneut vom JavaScript des Browsers gelesen wird, kann ein Angreifer ein Theme zu einer Zielwebsite hinzufügen, ohne dass der Administrator es jemals installiert. Yibelo fand außerdem heraus, dass ein Theme während einer Customizer-Vorschau weiterhin PHP-Code ausführen kann, selbst wenn es inaktiv ist. Eine Customizer-Vorschau ist der Bildschirm in WordPress, der eine Live-Vorschau von Designänderungen zeigt, bevor sie gespeichert werden. PHP ist die Programmiersprache, in der WordPress geschrieben ist, sodass Code, der als PHP auf dem Server läuft, mit den eigenen Rechten der Website ausgeführt wird.

Ein Angriff könnte mit einem präparierten Link beginnen, der zur Installation eines anfälligen Themes aus dem Katalog führt. Sobald die Customizer-Vorschau das PHP dieses inaktiven Themes lädt, wird der Code des Angreifers auf dem Server ausgeführt. Um das Problem zu demonstrieren, verwendete pwn.ai ein anfälliges WordPress-Theme als zweite Komponente in der Kette. Laut der Forschung benötigt der Angreifer kein WordPress-Konto, keine Installations-Nonce und keine eigenen administrativen Berechtigungen. Eine Nonce ist ein einmaliger Sicherheitscode, den WordPress verwendet, um zu prüfen, dass eine Anfrage von den eigenen Seiten und nicht von einem Angreifer stammt, sodass die Tatsache, dass sie nicht erforderlich ist, die Kette bemerkenswert macht. Was der Angriff erfordert, ist, dass ein angemeldeter Administrator die präparierte URL besucht, was die Kette für den Angreifer vorauthentifiziert, aber nicht automatisch macht.

Code-Ausführung dieser Art ist ein ernstes Problem für eine Website. Die Ergebnisse besagen, dass sie es einem Angreifer ermöglichen könnte, Dateien zu ändern und zu löschen, auf Benutzerdaten zuzugreifen und auf wp-config.php zuzugreifen, die auf dem Server gespeicherte WordPress-Konfigurationsdatei, die die Datenbank-Zugangsdaten und die Authentifizierungsgeheimnisse für die Website enthält. Mit diesem Zugriff könnte ein Angreifer bösartige Administrator-Konten erstellen oder schädliche Skripte in die Seiten der Website einschleusen.

Yibelo demonstrierte Click2Shell mit einem bestimmten Theme, aber der zugrunde liegende Fehler im WordPress-Core 7.1.0 und früher könnte ausgenutzt werden, um jedes andere anfällige Theme im WordPress-Katalog zwangsweise zu installieren. Die WordPress-Sicherheitsfirma Patchstack analysierte die Kette und betont, dass nur ein Administrator sie auslösen kann, weil Autor- und Redakteur-Konten die erforderliche Berechtigung zum Installieren von Themes nicht besitzen. Patchstack warnt außerdem, dass Angriffe durch gezieltes Phishing möglich sind, also eine E-Mail oder Nachricht, die einen Administrator zum Klicken bewegen soll, oder durch eine bestehende Cross-Site-Scripting-Schwachstelle (XSS). XSS ist ein Fehler, der es einem Angreifer ermöglicht, Code im Browser einer anderen Person auszuführen, was in diesem Fall den Browser des Administrators dazu bringen würde, die Anfrage von selbst zu senden.

WordPress behob die Core-Schwachstelle in Version 7.1.1, indem der Theme-Slug escaped wird, bevor er im jQuery-Selektor verwendet wird, und der Selektor auf tatsächliche Theme-Karten beschränkt wird. In einfachen Worten: Der Theme-Slug ist der kurze Name, der ein Theme identifiziert, und ein jQuery-Selektor ist ein Stück Code, das Elemente auf einer Seite findet; die Korrektur verhindert, dass der Name als etwas anderes als ein Name gelesen wird, und verhindert, dass der Code auf etwas anderes als echte Theme-Karten passt.

Für Administratoren, die das Update nicht sofort installieren können, sagt Patchstack, dass Websites mit aktiviertem DISALLOW_FILE_MODS nicht gezwungen werden können, das Theme oder ein bösartiges Plugin zu installieren. Diese Einstellung verhindert, dass WordPress Dateien über das Dashboard installiert oder aktualisiert, was diese spezielle Kette schließt, aber auch bedeutet, dass Updates auf andere Weise angewendet werden müssen. Der Wechsel zur neuesten WordPress-Version bleibt die dringende Empfehlung, besonders jetzt, da die vollständigen technischen Details und ein Proof of Concept öffentlich sind. Für Website-Betreiber, die nicht selbst Veröffentlichungstermine verfolgen möchten, ist Managed WordPress Hosting wie AEU Hosting auf routinemäßige Plattformwartung dieser Art ausgelegt, und die Planseite legt genau fest, was abgedeckt ist, sodass ein Leser es prüfen kann, bevor er sich darauf verlässt.

So schützen Sie sich

  1. Aktualisieren Sie Ihre WordPress-Website jetzt auf Version 7.1.1, indem Sie sich im Dashboard anmelden, den Bildschirm Updates öffnen und auf die Schaltfläche zum Aktualisieren klicken.
  2. Aktivieren Sie automatische Updates für WordPress, wenn Ihre Website diese Option bietet, damit kleine Sicherheitskorrekturen ankommen, ohne dass Sie sich daran erinnern müssen.
  3. Melden Sie sich nur dann als Administrator an, wenn Sie tatsächlich Arbeit zu erledigen haben, und melden Sie sich danach ab, anstatt diese Sitzung in einem Browser-Tab geöffnet zu lassen.
  4. Seien Sie misstrauisch gegenüber unerwarteten Links in E-Mails oder Chat-Nachrichten, besonders solchen, die vorgeben, Ihnen ein neues Theme oder Design zu zeigen, selbst wenn sie von jemandem zu kommen scheinen, den Sie kennen.
  5. Wenn Sie nicht sofort aktualisieren können, bitten Sie Ihren Host oder Entwickler, die Möglichkeit zum Installieren von Themes und Plugins auf der Website abzuschalten, bis das Update durchgeführt ist.
  6. Geben Sie Mitarbeitern die niedrigste Zugriffsebene, die sie benötigen, damit nur die wenigen Personen, die es wirklich brauchen, Themes und Plugins installieren können.

Begriffe Erklärt

  • cross-site request forgery (CSRF) Ein Trick, bei dem ein Angreifer Ihren eigenen angemeldeten Browser dazu bringt, eine Anfrage zu senden, die Sie nie senden wollten, sodass die Website glaubt, sie käme von Ihnen.
  • remote code execution Wenn ein Angreifer es schafft, sein eigenes Programm auf dem Computer oder Server einer anderen Person auszuführen.
  • PHP Die Programmiersprache, in der WordPress geschrieben ist und die auf dem Webserver läuft, um jede Seite zu erstellen.
  • WordPress Core Der Hauptsatz von Dateien, aus denen WordPress selbst besteht, im Gegensatz zu den darüber hinzugefügten Plugins und Themes.
  • nonce Ein einmaliger Sicherheitscode, den WordPress verwendet, um zu prüfen, dass eine Anfrage wirklich von seinen eigenen Seiten und nicht von einem Angreifer kam.
  • wp-config.php Die WordPress-Einstellungsdatei auf dem Server, die das Datenbankpasswort und andere geheime Schlüssel für die Website enthält.
  • Customizer preview Der WordPress-Bildschirm, der eine Live-Vorschau von Designänderungen zeigt, bevor Sie sie speichern.
  • cross-site scripting (XSS) Ein Fehler, der es einem Angreifer ermöglicht, Code im Browser einer anderen Person auszuführen, zum Beispiel um diesen Browser dazu zu bringen, von selbst Anfragen zu senden.

Verwandte AEU-Dienste

  • AEU Panel Control-Panel für Managed Hosting
  • AEU-I IT- und Sicherheitsberatung