
Advisory und Proof-of-Concept für CVE-2024-36057, eine authentifizierte OS-Command-Injection in der Koha-Bibliothekssoftware, die die Ausführung beliebiger Befehle über manipulierte ZIP-Dateinamen demonstriert.
CVE-ID: CVE-2024-36057
Produkt: Koha-Bibliothekssoftware
Schwachstellentyp: OS-Befehlsinjektion (CWE-78)
CVSS-Score: 8.7 (Hoch) Authentifiziert
Betroffene Versionen: Unter 22.05.22
Credits: Karolis Narvilas
Koha ist ein integriertes Open-Source-Bibliothekssystem. In der Funktion zum Hochladen von Titelbildern unter tools/upload-cover-image.pl besteht eine Schwachstelle bezüglich Befehlsinjektion. Die Anwendung verwendet qx/unzip $filename -d $dirname/, um hochgeladene ZIP-Archive zu extrahieren, ohne den Dateinamenparameter zu bereinigen.
Ein authentifizierter Benutzer mit hohen Rechten kann eine ZIP-Datei mit einem bösartigen Dateinamen erstellen, der Backtick-Zeichen enthält, um beliebige Shell-Befehle einzuschleusen, die serverseitig ausgeführt werden, wenn der Benutzer auf „Process Images" klickt.
Auswirkung: Ein entfernter authentifizierter Angreifer kann CVE-2024-36057 ausnutzen, um beliebige Betriebssystembefehle auf dem zugrunde liegenden Server auszuführen, was zu einer vollständigen Kompromittierung des Systems, Datendiebstahl sowie der Einrichtung persistenter Backdoors oder Reverse Shells führt.
https://{domain}/cgi-bin/koha/tools/upload-cover-image.plAnfrage:
POST /cgi-bin/koha/tools/upload-file.pl?temp=1 HTTP/1.1
Host: {domain}
Cookie: [High-Privilege Session]
Connection: close
------WebKitFormBoundaryP82Da5V6eaQOuBUT
Content-Disposition: form-data; name="file"; filename="execute`<INJECTED_COMMAND>`.zip"
Content-Type: application/x-zip-compressed
<zip file contents>
------WebKitFormBoundaryP82Da5V6eaQOuBUT--
