Java: Exploit für RCE-Lücke in Spring geleakt
Unter Umständen reicht ein HTTP-Request, um Spring-Anwendungen eine Webshell unterzujubeln. Die Lücke wird wohl bereits ausgenutzt.

Der Exploit für eine Lücke in dem Java-Framework Spring Core wurde für kurze Zeit öffentlich verteilt. Der Exploit kann dazu genutzt werden, Code in Spring-Anwendungen auszuführen und fremde Server zu übernehmen. Diese sogenannte Remote-Code-Execution (RCE) wurde von verschiedenen Sicherheitsforschern bestätigt, die die Lücke (CVE-2022-22965) in Anlehnung an Log4Shell Spring4Shell nennen. Ob der Fehler aber wirklich so weitreichende Auswirkungen hat wie Log4Shell, bleibt abzuwarten.
Ursprung des Exploits ist wohl der chinesische Chat-Service QQ sowie auch eine IT-Security-Webseite in China, wie das Magazin Bleeping Security berichtet. Auch auf Twitter wurde der Exploit verteilt.
Die Sicherheitsforscher von Rapid7 verweisen als erste Veröffentlichung auf einen Beitrag auf Github. Ein Update zu der Lücke gibt es bisher noch nicht, auch eine CVE-Nummer wurde wohl noch nicht vergeben.
Die Spring4Shell genannte Lücke betrifft den Ausführungen von Rapid7 oder auch Lunasec zufolge alle Spring-Versionen von mindestens 4.3 bis einschließlich der aktuellen Version 5.3.15 sowie die Nutzung in Verbindung mit dem JDK ab Version 9. Mit älteren JDK-Versionen, insbesondere dem noch unterstützten JDK 8, soll sich die Lücke nicht ausnutzen lassen.
Beispielcode ausnutzbar
Weiter heißt es in den Analysen, dass eine Standardkonfiguration von Spring nicht verwendbar sei, sondern dafür einige Voraussetzungen erfüllt sein müssten. Verwundbar sind demnach Anwendungen, die die Request-Mapping-Annotation in Verbindung mit Pojo-Paramentern (Plain Old Java Object) verwenden.
Laut dem Unternehmen Praetorian muss ein verfügbarer Endpunkt die Data-Binder-Klasse verwenden, was heißt, dass Daten aus einem Post-Request automatisch dekodiert werden. Hinzu kommen Voraussetzungen an die Umgebung der App selbst.
So funktioniert der Exploit nur mit Apache Tomcat, nicht aber, wenn die Spring-Anwendungen in einem Embedded Servlet Container läuft. Letztlich könnte über die Lücke jedoch eine Webshell per HTTP-Request auf einem angegriffenen Server installiert werden.
Der Analyst beim Cert/CC, Will Dormann, wies darauf hin, dass die Spring-Dokumentation explizit vor derartigen Konfigurationen warne, und zeigte sich skeptisch in Bezug auf die praktische Anwendbarkeit des Exploits sowie verwundbare Anwendungen. Später revidierte Dormann seine Einschätzung jedoch, und bestätigte selbst, dass Beispielcode des Spring-Projekts für den Umgang mit Formularen verwundbar sei. Inzwischen mehren sich auch Berichte über aktive Angriffe.
Bis ein Patch verfügbar ist, empfehlen die genannten Sicherheitsunternehmen als Vorkehrungsmaßnahme unter anderem Controller-Regeln für die Spring-Anwendung, die das Angriffsmuster erkennen und ausfiltern soll. Auch werden Regeln für eine Web Application Firewall empfohlen und es sind bereits Yara-Regeln verfügbar, die ein mögliches Ausnutzen der Lücke erkennen sollen.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Eben das. Und jetzt schaun wir doch nochmal, wieviele RCEs jeden Monat in den gängigen...