CVE-2025-54123
Übersicht
Authentisierte Remote-Code-Ausführung im Middleware-API-Endpunkt von HoverFly aufgrund unzureichender Eingabevalidierung und unsicherer Befehlsausführung.
Angriffsablauf
-
Authentifizierung
- Angreifer authentisiert sich bei HoverFly mit gültigen Anmeldeinformationen oder einem Sitzungstoken
- Erhält Bearer-Token über den
/api/token-auth Endpunkt
-
Erstellung bösartiger Nutzlast
- Angreifer erstellt JSON-Nutzlast mit:
binary: /bin/bash (benutzergesteuert)
script: Beliebiger Shell-Befehl (z. B. whoami, Reverse Shell)
-
Auslieferung des Exploits
- Sendet PUT-Anfrage an
/api/v2/hoverfly/middleware mit bösartiger Nutzlast
- Fügt Bearer-Token in den Authorization-Header ein
-
Angreifbare Verarbeitung
- HoverFly empfängt die Anfrage und extrahiert die Parameter
binary und script
- Es findet keine Eingabevalidierung für den Parameter
binary statt
- Erstellt eine temporäre Skriptdatei mit vom Benutzer bereitgestelltem Skriptinhalt
- Führt sofort aus:
exec.Command(binary, scriptFile) während der Middleware-Validierung
-
Code-Ausführung
- Der Befehl wird mit den Prozessberechtigungen von HoverFly ausgeführt
- Die Ausgabe wird in der Fehlerantwort zurückgegeben (Statuscode 422)
- Der Angreifer kann beliebige Befehle ausführen oder eine Reverse Shell herstellen
Grundursachen
- Zeilen 94-96 (middleware.go): Der Parameter
binary wird ohne Validierung akzeptiert
- Zeilen 14-19 (local_middleware.go): Vom Benutzer gesteuerter
binary wird direkt an exec.Command() übergeben
- Zeile 173 (hoverfly_service.go): Middleware wird während des Tests sofort ausgeführt
Details verfügbar hier : https://github.com/SpectoLabs/hoverfly/security/advisories/GHSA-r4h8-hfp2-ggmf