Die Ransomware-Bande Clop verlegte ihre Website zur Veröffentlichung gestohlener Daten auf eine neue Tor-Adresse, nachdem sie bestätigt hatte, dass der vorherige Server über eine ungepatchte Schwachstelle im Content-Management-System Grav CMS gehackt und verunstaltet worden war. BleepingComputer stellte fest, dass es sich bei dem Fehler um eine zuvor nicht dokumentierte Pfadüberquerungs-Schwachstelle handelt, die einen nicht authentifizierten Zugriff auf die Website erfordert.
Der Angriff ereignete sich Anfang September, als die Erpressergruppe ShinyHunters eine kleine Textdatei auf die Website hochlud und anschließend deren Inhalt durch eine vollständige Verunstaltungsseite ersetzte. Diese enthielt das Logo der Pokémon-Figur Umbreon sowie einen Link zu ihrer eigenen Leakseite. Die Gruppe erklärte später, sie habe den Quellcode, Grav-Erweiterungen, Serverprotokolle und die privaten Schlüssel gestohlen, die für den Tor-Dienst von Clop verwendet wurden, und forderte ein Lösegeld für die Nichtveröffentlichung der Dateien.
Was geschah auf dem Clop-Server?
Clop räumte ein, dass die Grav-Installation auf dem Server nicht vollständig aktualisiert gewesen sei, bestritt jedoch, dass die Server wichtige betriebliche oder finanzielle Daten enthalten hätten. Die Gruppe erklärte, der Server habe ausschließlich Website-Inhalte umfasst, und bestritt außerdem eine Verbindung oder laufende Verhandlungen mit ShinyHunters. Dem Bericht zufolge entfernte ShinyHunters den Namen Clop später von ihrer Website, ohne dafür eine weitere Erklärung abzugeben.
Auf dem Server lief Grav 1.7.43. Nach den von ShinyHunters bereitgestellten Details wurde die Verarbeitung zum Hochladen von Dateien in Grav ausgenutzt, indem ein unsicherer Wert im Parameter __unique_form_id__ übergeben wurde. Dieser Wert wurde verwendet, um einen temporären Pfad im Format tmp/forms/<session_id>/<unique_id> zu erstellen, ohne zuvor zu überprüfen, ob er eine sichere Komponente für Dateipfade darstellte.
Durch die Eingabe von Pfadüberquerungssequenzen wie ../../../shhq konnte Grav gezwungen werden, einen Pfad außerhalb des für Upload-Dateien vorgesehenen Verzeichnisses zu erstellen. Dadurch war es möglich, die hochgeladene Datei an einer anderen Stelle innerhalb der Systeminstallation zu schreiben.
Bestätigung des Fehlers und Veröffentlichung der Behebung
Grav prüfte die von BleepingComputer weitergegebenen technischen Details, und die Entwickler des Systems bestätigten, dass die Beschreibung des Angreifers zutreffend war. Die Schwachstelle wurde unter der Kennung CVE-2026-42608 registriert. Es handelt sich um eine Pfadüberquerungs-Schwachstelle, die zunächst in Grav 2.0, der Testversion 2.0.0-beta.2, behoben wurde; die Sicherheitsberatung wurde am 27. April veröffentlicht.
Die Behebung fügte die Funktion sanitizeId() hinzu, die nur Bezeichner akzeptiert, die der Allowlist [A-Za-z0-9,_-]{1,64} entsprechen. Grav erklärte, dass der Fehler im Kern des Systems liegt und nicht in der Form-Erweiterung. Daher ändert die Version der Erweiterung, einschließlich der im Fall genannten Version 7.3.0, nichts daran, ob eine Website gefährdet ist.
Was ändert sich in der Praxis?
Die aktuellen Grav-2.x-Versionen waren bereits seit Monaten geschützt, die Behebung war jedoch noch nicht in den Zweig 1.7 übernommen worden, den weiterhin viele Websites verwenden. Nachdem die Exploit-Details mit den Entwicklern geteilt worden waren, veröffentlichte Grav Version 1.7.53.4 für den Zweig 1.7 und forderte Nutzer dieses Zweigs zur Aktualisierung auf.
Der Vorfall verdeutlicht, dass die Verwendung eines älteren Zweigs eines Content-Management-Systems eine bekannte Schwachstelle in der Kernkomponente offenlassen kann, selbst wenn die mit der Funktion verbundene Erweiterung aktuell ist. Die Verlagerung der Leakseite auf eine neue Adresse behebt zwar die betrieblichen Auswirkungen des Angriffs auf Clop, beweist jedoch allein nicht, ob die Dateien, deren Diebstahl ShinyHunters behauptete, tatsächlich sensible Daten enthielten. Clop bestritt dies, und die Quelle legte keine unabhängigen Beweise vor, die den Anspruch abschließend klären würden.