
PluckCMS 4.7.20 Zip Slip Sicherheitslücke führte zu RCE
Dieser Bericht dokumentiert eine kritische Sicherheitslücke, die in PluckCMS entdeckt wurde und es authentifizierten Angreifern ermöglicht, durch einen Zip-Slip-Angriffsvektor Remote-Code-Ausführung zu erlangen. Die Sicherheitslücke besteht in der Modul-Upload-Funktionalität und kann durch das Hochladen eines speziell präparierten ZIP-Archivs mit schädlichem PHP-Code ausgenutzt werden.
4.7.20
Sicherheitslückentyp: Zip Slip, der zu Remote-Code-Ausführung (RCE) führt
Betroffene Komponente: Modulverwaltungssystem (Optionen → Module verwalten)
Angriffsvektor: Hochladen einer schädlichen ZIP-Datei
Authentifizierung erforderlich: Ja (Admin-Panel-Zugriff)
Schweregrad: Kritisch
Die Sicherheitslücke ergibt sich aus unzureichender Validierung und Bereinigung der ZIP-Archivinhalte während des Modul-Upload-Prozesses. PluckCMS erlaubt Administratoren, Module im ZIP-Format hochzuladen, ohne die im Archiv enthaltenen Dateipfade ordnungsgemäß zu validieren. Dies ermöglicht es einem Angreifer, eine schädliche ZIP-Datei zu erstellen, die Path-Traversal-Sicherheitslücken ausnutzt und das Platzieren beliebiger Dateien im Server-Dateisystem erlaubt.
Beim Extrahieren eines ZIP-Archivs prüft die Anwendung nicht, ob die extrahierten Dateien innerhalb der vorgesehenen Verzeichnisstruktur bleiben. Ein Angreifer kann diese Schwäche ausnutzen, um schädliche PHP-Dateien an webzugängliche Orte zu schreiben und anschließend beliebigen Code auf dem Server auszuführen.
Die Sicherheitslücke kann mit der folgenden Umgebung reproduziert werden:
git clone https://github.com/pluck-cms/pluck.git
cd pluck
ddev config --project-type=php --docroot=.
ddev start
Gehostete URL : http://pluck.ddev.site
Während der Tests wurde eine Proof-of-Concept-Nutzlast verwendet, die die Fähigkeit zur Befehlsausführung demonstriert. Die Nutzlast nutzt die Systemausführungsfunktionen von PHP, um Betriebssystembefehle auszuführen.
<?php
$fn = "sys" . "tem";
(string) $fn("id");
?>
Die erfolgreiche Ausnutzung dieser Sicherheitslücke ermöglicht einem authentifizierten Angreifer mit Administratorenzugriff Folgendes:
Obwohl die Sicherheitslücke eine administrative Authentifizierung erfordert, stellt sie ein kritisches Sicherheitsrisiko dar, da sie einen direkten Weg zur vollständigen Kompromittierung des Systems bietet.