Schutz vor der Spring4Shell-Schwachstelle

Spring4Shell (CVE-2022-22965) ist eine Schwachstelle zur Remotecodeausführung (RCE), die Spring Core betrifft – ein umfassendes Framework für Java-basierte Unternehmensanwendungen. Spring4Shell ist nach der Schwachstelle Log4Shell benannt, einer der kritischsten Zero-Day-Bedrohungen überhaupt. Diese betraf eine Java-Softwarekomponente namens Log4j und ermöglichte es Hackern, die Kontrolle über Webserver und Netzwerke zu übernehmen. […]

Verfasst von
Julien Maury
Julien Maury
Apr 6, 2022
4 minute read
eSecurity Planet Inhalte und Produktempfehlungen sind redaktionell unabhängig. Wir können Geld verdienen, wenn Sie auf Links zu unseren Partnern klicken. Mehr erfahren

Spring4Shell (CVE-2022-22965) ist eine Schwachstelle zur Remotecodeausführung (RCE), die Spring Core betrifft – ein umfassendes Framework für Java-basierte Unternehmensanwendungen.

Spring4Shell hat seinen Namen von der Log4Shell-Schwachstelle, einer der kritischsten Zero-Day-Bedrohungen überhaupt. Diese betraf eine Java-Softwarekomponente namens Log4j und ermöglichte es Hackern, die Kontrolle über Webserver und Netzwerke zu übernehmen.

Spring4Shell ist eine kritische Schwachstelle für Webanwendungen und Cloud-Dienste. Jede RCE stellt eine ernsthafte Bedrohung dar, und GitHub ist bereits voller POCs (Proofs of Concept), die den Exploit öffentlich machen, sodass Cyberkriminelle ihn nicht übersehen können.

Schwachstellen wie Spring4Shell und Log4Shell werden schnell angegriffen werden, und Hacker werden wahrscheinlich weitere Wege finden, sie auszunutzen – möglicherweise unter Umgehung der Behelfslösungen und Gegenmaßnahmen. Daher ist Wachsamkeit erforderlich.

Eine aktuelle Studie ergab, dass 78 % der Unternehmen jedes Mal für eine Kompromittierung offenstehen, wenn eine neue RCE-Technik entdeckt wird. Sicherheitsexperten sollten Zero-Day-RCE-Schwachstellen daher besondere Aufmerksamkeit widmen.

Siehe die Top-Tools für das Schwachstellenmanagement.

Die Popularität von Spring Core

Das Spring-Core-Framework gehört zu den beliebtesten Java-Frameworks, insbesondere in Unternehmen. Unternehmen nutzen es, um die Entwicklung zu beschleunigen, als Alternative zu Java-EE-Anwendungen.

Das Tool ist vollständig objektorientiert und bietet fortschrittliche Funktionen zum Erstellen Java-basierter Anwendungen. So ermöglicht Spring beispielsweise die Parameterbindung und -extraktion aus Anfragen, wodurch Programmierer diese einfach verarbeiten können.

Mit anderen Worten: Das Framework kann wertvolle Informationen aus HTTP-Anfragen extrahieren und als Schlüssel-Wert-Paare oder Java-Objekte abbilden, die von der Anwendung verwendet werden. Für Entwickler ist das praktischer.

Hacker können Spring4Shell ausnutzen, um Informationen zu überschreiben und Web-Shells hochzuladen, die letztlich zur Remotecodeausführung führen. Dazu werden sie wahrscheinlich eine bösartige Payload über eine HTTP-Anfrage einschleusen, um die anvisierten Java-Objekte zu manipulieren und die vollständige Kontrolle über das Zielsystem zu erlangen.

Spring4Shell-Exploits erklärt

Advertisement

Der Exploit scheint mehrere Komponenten zu erfordern:

  • JDK (Java Development Kit) 9++
  • spring-webmvc oder spring-webflux
  • Spring-Framework-Versionen 5.2.0 bis 5.2.19, 5.3.0 bis 5.3.17 oder ältere Versionen
  • Apache Tomcat zur Bereitstellung der Anwendung
  • Als WAR-Datei (Web Application Resource) erstellt (nicht als JAR)

Allerdings sagte Microsoft, dass „Jedes System, das JDK 9.0 oder höher sowie das Spring Framework oder davon abgeleitete Frameworks verwendet, als verwundbar betrachtet werden sollte.“

Die meisten POCs nutzten eine REST-API, die HTTP-Anfragen (GET, POST usw.) und Payloads akzeptiert. Die grundlegende Idee besteht darin, bestimmte Funktionen umzuleiten, die im Spring Framework auf Request-Mapping-Annotationen und Plain Old Java Object (POJO)-Parameter angewiesen sind (siehe Screenshot unten):

spring4shell poc

Angreifer können speziell erstellte HTTP-Anfragen senden, um eine bösartige .jsp-Datei im Stammverzeichnis des Dienstes zu erstellen (Quelle: Microsoft):

poc spring4shell requests

Mit anderen Worten: Unter bestimmten Bedingungen (z. B. durch die Request-Mapping-Funktion von Spring) ist es möglich, interne Variablen von der Clientseite aus zu ändern.

Da das Framework über eine Request-Mapping-Funktion verfügt, können Hacker vorhersagen, welche Methoden anhand einer bestimmten URI aufgerufen werden. Zudem ist die Parameter-/Eigenschaftsbindung für Entwickler praktisch, da sie einige Felder automatisch anhand von URI-Parametern befüllt. Sie ist jedoch auch sehr vorhersehbar und anfällig für unerwünschte Verkettungen.

Mit dem getClassLoader()Accessor können Hacker die Eigenschaften des AccessLogValve-Objekts in der Tomcat-Pipeline manipulieren. So kann sich das Zugriffsprotokoll eines verwundbaren Tomcat-Webservers in eine Reverse Shell verwandeln.

Ein solcher unbefugter Shell-Zugriff kann je nach Serverkonfiguration und den für die Bereitstellung geltenden Sicherheitsrichtlinien zu den schlimmsten Folgen führen – vom Diebstahl von Zugangsdaten bis zur Ausweitung von Berechtigungen auf Root-Ebene.

Advertisement

Auch wenn der Exploit technisch recht anspruchsvoll wirken mag, werden öffentliche POCs und das offene Bereitstellen des Codes die Hürde deutlich senken. Ich habe zahlreiche Python-Skripte gesehen, die den Angriff automatisieren können.

Hacker nutzen die Schwachstelle bereits aus

CISA nahm auf die Schwachstelle in seinen Katalog auf, und Checkpoint hob hervor mehrere wichtige Zahlen:

  • Rund 37.000 Versuche, die Spring4Shell-Schwachstelle auszunutzen
  • In den ersten vier Tagen waren 16 % der Organisationen weltweit von Ausnutzungsversuchen betroffen
  • Softwareanbieter sind die am stärksten betroffene Branche: 28 % der Organisationen waren betroffen
  • Die am stärksten betroffene Region ist Europa mit etwa 20 % Betroffenen

Microsoft berichtete von einem „geringen Volumen an Ausnutzungsversuchen bei Cloud-Diensten im Zusammenhang mit den Schwachstellen in Spring Cloud und Spring Core“ und forderte die Nutzer nachdrücklich auf, ihre aktuelle Konfiguration zu überprüfen.

So erkennen und schützen Sie sich vor Spring4Shell

Da die Schwachstelle RCE ermöglicht, kann die Überwachung verdächtiger Aktivitäten, insbesondere ausgehender Verbindungen, dabei helfen, den Exploit zu erkennen.

Microsoft hat insbesondere einen Schnelltest beschrieben, mit dem sich feststellen lässt, ob Sie durch Spring4Shell gefährdet sind:

curl host:port/path?class.module.classLoader.URLs%5B0%5D=0

Jede HTTP-400-Antwort ist ein positiver Treffer!

Unternehmen, die auf Spring-Framework-Versionen 5.2 und 5.3 setzen, sollten schnellstmöglich auf die Versionen 5.2.20 und 5.3.18 aktualisieren.

Alternativ kann Apache Tomcat auf folgende Versionen gepatcht werden: 8.5.78, 9.0.62, 10.0.20.

Das Spring-Projekt veröffentlichte eine Reihe von Gegenmaßnahmen und Empfehlungen. Organisationen, die derzeit kein Update durchführen können, können beispielsweise auf Java 8 zurückstufen oder die Bindung an bestimmte Felder deaktivieren.

Auch VMware veröffentlichte ausführliche Sicherheitshinweise. Der Schweregrad ist für alle von Spring4Shell betroffenen Produkte als kritisch eingestuft. Derzeit gibt es noch nicht für alle Produkte Abhilfemaßnahmen. Die Untersuchung dauert an, Nutzer können jedoch Behelfslösungen anwenden, um die Bedrohung zu begrenzen.

Advertisement

Lesen Sie als Nächstes: SANS beschreibt wichtige Schritte zum Schutz kritischer Infrastrukturen angesichts der Cyberbedrohungen durch Russland und die USA.

Julien Maury

eSecurity Planet contributor Julien Maury writes about penetration testing, code security, open source security and more. He is a backend developer, a mentor and a technical writer who enjoys sharing his knowledge and learning new concepts.

eSecurity Planet Logo

eSecurity Planet is a leading resource for IT professionals at large enterprises who are actively researching cybersecurity vendors and latest trends. eSecurity Planet focuses on providing instruction for how to approach common security challenges, as well as informational deep-dives about advanced cybersecurity topics.

Eigentum von TechnologyAdvice. © 2026 TechnologyAdvice. Alle Rechte vorbehalten

Werbetreibenden-Offenlegung: Einige der auf dieser Website erscheinenden Produkte stammen von Unternehmen, von denen TechnologyAdvice eine Vergütung erhält. Diese Vergütung kann beeinflussen, wie und wo Produkte auf dieser Website erscheinen, einschließlich beispielsweise der Reihenfolge, in der sie erscheinen. TechnologyAdvice schließt nicht alle Unternehmen oder alle auf dem Marktplatz verfügbaren Produkttypen ein.