Blog

Neue Schwachstellen in Spring-Bibliotheken: So finden Sie heraus, ob Sie gefährdet sind und was Sie tun können

April 1, 2022
Charlie Eriksen
Gesicht einer Frau mit langem Haar, beleuchtet durch farbigen Programmcode und Datenprojektionen vor dunklem Hintergrund.

Kürzlich wurden in Spring-Bibliotheken, einer der beliebtesten Bibliotheken in der Java-Community, zwei Schwachstellen im Zusammenhang mit Remote Code Execution (RCE) bekannt. Um Ihnen die Einschätzung zu erleichtern, ob Sie von einer dieser Schwachstellen betroffen sind und welche Maßnahmen Sie ergreifen sollten, haben wir die bekannten Details zu „Spring4Shell“ und „Spring Cloud Function“ für Sie zusammengefasst.

Schwachstelle 1 – „Spring4Shell“ (CVE-2022-22965)

Am 29. März 2022 entdeckte die Community eine Reihe von Tweets mit Screenshots eines Proof-of-Concept-Exploits für Spring Core (SC). Dieser ermöglicht eine Remote Code Execution für alle Versionen von Spring Core, einschließlich der zuletzt veröffentlichten Version 5.3.17.

Welche Anwendungen sind gefährdet?

Derzeit ist nur für Anwendungen, die auf Tomcat gehostet werden, bestätigt, dass sie für diesen neuen Exploit anfällig sind. Obwohl die Ausnutzung gegen den Embedded Tomcat Servlet Container oder andere nicht auf Tomcat gehostete Anwendungen bisher nicht erfolgreich demonstriert wurde, lässt sich nicht ausschließen, dass die Bedrohung in Zukunft auch diese Frameworks betreffen könnte.

Spring hat eine offizielle Stellungnahme zu der Schwachstelle veröffentlicht. Darin wird klargestellt, dass nach aktuellem Kenntnisstand die folgenden Bedingungen erfüllt sein müssen, damit eine Anwendung anfällig ist:

  • JDK 9 oder höher
  • Apache Tomcat als Servlet-Container
  • Verpackung als klassische WAR-Datei (im Gegensatz zu einer ausführbaren Spring Boot JAR-Datei)
  • spring-webmvc- oder spring-webflux-Abhängigkeit
  • Spring Framework-Versionen 5.3.0 bis 5.3.17, 5.2.0 bis 5.2.19 sowie ältere Versionen

Wie funktioniert die „Spring4Shell“-Ausnutzung?

Die Ausnutzung basiert auf der Verwendung von „Data Binding“ (org.springframework.web.bind.WebDataBinder) in Anfragen, die Plain Old Java Objects (POJO) in der Methodensignatur verwenden:

Hierbei ist die Foo-Klasse eine POJO-Klasse, die wie folgt definiert sein könnte. Beachten Sie, dass die tatsächliche Klasse nicht wichtig ist, solange sie vom Class Loader geladen wird.

Java code defining class Foo in package spring4shell.model with private String variable Bar.

Wenn eine Anfrage von einer solchen Methode verarbeitet wird, wird der Class Loader zur Auflösung der Klasse verwendet. Der Class Loader ist dafür verantwortlich, Klassen zur Laufzeit zu laden, ohne dass alle möglichen Typen vorab in den Arbeitsspeicher geladen werden müssen. Er ermittelt, welche .jar-Datei geladen werden muss, wenn eine neue Klasse verwendet wird.

Die aktuellsten und detailliertesten Informationen zu dieser Schwachstelle finden Sie direkt bei Spring in deren Blogbeitrag, einschließlich potenzieller Korrekturen oder Workarounds.

Schwachstelle 2 – Spring Cloud Function (CVE-2022-22963)

Am 27. März 2022 veröffentlichte Cyber Kendra Details zu einer 0-Day-Schwachstelle für Remote Code Execution (RCE) in Spring Cloud Functions, für die es zu diesem Zeitpunkt noch keinen Patch gab. Die Schwachstelle erhielt die Kennung CVE-2022-22963: Spring Expression Resource Access Vulnerability.

Welche Anwendungen sind gefährdet?

Die Schwachstelle betraf Anwendungen unter den folgenden Bedingungen:

  • JDK 9 oder neuer
  • Spring Cloud Functions Version 3.1.6 (oder niedriger), 3.2.2 (oder niedriger) oder jede nicht unterstützte Version

Wie funktioniert die Ausnutzung?

Spring Cloud Function bietet Entwicklern die Möglichkeit, das Routing über die Eigenschaft spring.cloud.function.routing-expression zu konfigurieren, was normalerweise über Konfigurationen oder Code geschieht. Dies ist eine leistungsstarke Funktion, die die „Spring Expression Language“ (SpEL) akzeptiert. Durch diese Zero-Day-Schwachstelle wurde bekannt, dass diese Eigenschaft über HTTP-Header einer Anfrage festgelegt werden kann. Das bedeutet, dass ein Angreifer SpEL-Code direkt in seine HTTP-Anfrage an einen RoutingFunction-Endpunkt einbetten und so beliebigen Code ausführen konnte.

Welche Schritte sollten Benutzer zur Risikominderung unternehmen?

Spring hat die Versionen 3.1.7 und 3.2.3 veröffentlicht, um dieses Problem zu beheben. Dabei wird das Setzen dieser Eigenschaft über HTTP-Header unterbunden und die Schwachstelle entschärft. Nach dem Upgrade auf eine dieser Versionen sind keine weiteren Schritte erforderlich.

Möchten Sie mehr darüber erfahren, wie wir Entwickler dabei unterstützen, sichereren Code zu schreiben? Buchen Sie eine Demo oder entdecken Sie unsere kostenlosen Richtlinien für sicheres Programmieren auf secure code coach.

‍

Quellen

‍

Slogan

Kontrollieren Sie KI-gestützte Entwicklung, bevor sie in Produktion geht

Bewerten Sie KI-gestützte Risiken, setzen Sie Richtlinien für sicheren Code direkt beim Commit durch und beschleunigen Sie die sichere Bereitstellung über Ihren gesamten SDLC hinweg.

Demo buchen
Ressourcenbibliothek

Weitere Blogs entdecken

Erhalten Sie Zugang zu Experteninhalten über sichere Programmierung, KI-Governance und Software-Risikomanagement.

alle anzeigen
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Mehr erfahren
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

Mehr erfahren
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Eine Sicherheitskultur: Wie Sage sein Champions-Programm aufgebaut hat

Erfahren Sie, wie Sage die Sicherheit durch einen flexiblen, beziehungsorientierten Ansatz gestärkt, über 200 Security Champions ausgebildet und eine messbare Risikoreduzierung erzielt hat.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Cybersecurity Awareness Month 2026: Das Verständnis von KI-Sicherheit ist entscheidend für die Unternehmensverteidigung

Wir haben einen Punkt erreicht, an dem die meisten führenden KI-Unternehmen öffentlich eine weltweite Verlangsamung der KI-Entwicklung gefordert haben, damit die Sicherheitsvorkehrungen Schritt halten können. Doch die Wahrheit ist: Ernsthafte Sicherheitsprobleme sind bereits Realität geworden. Dies bringt unzählige Sicherheitsverantwortliche und Führungsteams in eine dringliche Lage, da die finanziellen Kosten und Risiken durch die Implementierung von KI stetig steigen.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Enabler 8: Branding für Ihr Programm

Ein Programm für sicheres Programmieren braucht mehr als nur großartige Inhalte, um erfolgreich zu sein. Enabler 8 zeigt, wie Branding die Teilnahme zu einem begehrten, statusorientierten Erlebnis macht.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Jeder Mitarbeiter steht jetzt an vorderster Front der KI-Cybersicherheit

Die Unternehmenslandschaft wandelt sich mit einer Geschwindigkeit, die kaum jemand vorhergesehen hat, bis es zu spät war. Wir haben offiziell die Schwelle von handgeschriebenem Code und einfacher Copilot-Unterstützung hin zur Ära des Agentic Development Lifecycle (ADLC) überschritten. Während autonome KI-Agenten eine beispiellose Effizienz in vielen Bereichen versprechen, bringen sie auch eine völlig neue Klasse von Sicherheits- und Regulierungsrisiken mit sich.

Mehr erfahren

Sichere KI-gestützte Entwicklung vor dem Release

Erkennen Sie Entwicklerrisiken, setzen Sie Richtlinien durch und verhindern Sie Schwachstellen über den gesamten Softwareentwicklungszyklus hinweg.

Demo buchen
Keine Elemente gefunden.