
Proof-of-Concept-Exploit für Apache Struts S2-072 (CVE-2026-73633), der die Erschöpfung von CPU und Arbeitsspeicher demonstriert, indem präparierte JSON-Anfragen an das Struts-JSON-Plugin gesendet werden.
JSON-Füllung vom serverseitig aktivierten JSON-Body-Plugin („JSON-Füllung“ ist eine Kernfunktion des JSON-Plugins in Struts 2 und kann vereinfacht als ein automatischer Datenkonvertierungsmechanismus verstanden werden.)
Der Parser der JSON-Füllung liest beim Verarbeiten von JSON-Arrays den gesamten JSON-Inhalt des Anforderungstexts auf einmal in den Speicher (elementweises Laden).
Dies verursacht Speicherverbrauch (und CPU-Verbrauch).
Ich habe mit WSL2 und Tomcat eine Struts-Anwendung bereitgestellt und eine Login-Seite erstellt, Benutzername admin, Passwort 123456.
In den tatsächlichen Tests war die auffälligste Steigerung auf dem Rechner die CPU-Auslastung, gefolgt vom Speicher; nach Abschluss der Verarbeitung der Anfrage wird die CPU-Auslastung wieder freigegeben.
Sobald der Speicher einen OOM erreicht, wird eine GC-Bereinigung ausgelöst; der Speicher wird nie vollständig gefüllt und führt bei weitem nicht zu einem Absturz.
Es verursacht lediglich eine Ressourcenbelastung des Container-Servers. Die Auslastung steigt bis zu einem festen Speicherwert (OOM-Auslösepunkt) und dann nicht weiter; sie wird durch GC wiederholt freigegeben und wieder belegt, wieder freigegeben …………
Der CPU-Anstieg ist proportional zum Füllwert (--size).
git clone https://github.com/CuteeCat/CVE-2026-73633.git
cd CVE-2026-73633
cd docker
docker-compose build
docker-compose up -d
cd ..
python poc.py --url http://127.0.0.1:8080/login.action --local