Spring4Shell: Die wichtigsten Infos und Handlungsempfehlungen zu CVE-2022-22965

Montag, 4.4.2022

Spring4Shell_symbolbild

Rund um Java gibt es mit Spring4Shell (CVE-2022-22965) erneut eine Sicherheitsproblematik. Nachdem Ende des Jahres 2021 die Sicherheitslücke Log4Shell im Logging Framework Log4J zu einem Höchststand bei Cyberangriffen führte (zu den viadee Lessons Learned aus Log4Shell), betreffen die aktuell festgestellten Lücken den Kern des quelloffenen Java-Frameworks Spring: Am 31.03. wurde im Java-Framework Spring eine Remote Code Execution (RCE)-Schwachstelle entdeckt, die es Angreifern potenziell ermöglicht beliebigen Code aus der Ferne auszuführen. Unser Team IT-Sicherheit hat schnell und auf den Punkt die wichtigsten Fragen zu Spring4Shell zusammengefasst und gibt erste Antworten. 

Inhalt:

 

Was ist Spring4Shell?

 

Es handelt sich um eine Remote Code Execution (RCE). Bislang gibt es noch keinen offiziellen Score, aber von Whitesource wird sie mit einer 9.8/10 geführt, was einer sehr hohen Priorität entspricht. Unternehmen, die auf Java-Anwendungen mit Spring setzen, sollten sich also sofort mit diesem Thema auseinandersetzen und die vorhandenen Gegenmaßnahmen anwenden. 

Einen tieferen Einblick in ein Exploit-Szenario bietet Lunasec

 

Bin ich von Spring4Shell betroffen?

 

Betroffen sind Nutzer:innen, die ihre Anwendungen in der folgenden Konstellation betreiben: 

  • JDK9 oder höher 
  • Apache Tomcat (kein Spring Boot) 
  • Spring < 5.3.18, < 5.2.20 und alle älteren Versionen 
  • Dependency zu spring-webmvc oder spring-webflux 

Anders als bei der bekannten Log4J-Lücke sind in diesem Fall nicht per se alle Verwender:innen von Spring betroffen, sondern nur die, bei denen die oben beschriebenen Kriterien zutreffen. 

 

Welche Handlungsempfehlungen gibt es, wenn ich von Spring4Shell betroffen bin? 

 

  • Alle Projekte sollten auf Spring Framework 5.3.18 oder 5.2.20 aktualisieren, da es möglicherweise in Zukunft auch weitere Ausnutzungswege geben wird. 
  • Besonders dringend ist dies bei allen Projekten, die Spring als WAR in einem Tomcat ausführen. 

 

Ich kann Spring nicht aktualisieren, was kann ich gegen Spring4Shell machen? 

Wir raten zu einem Update der verwundbaren Spring-Version, aber auch ohne Update gibt es Möglichkeiten, die Abhilfe schaffen: 

  • Tomcat aktualisieren: In den neuesten Tomcat-Versionen (>= 10.0.20, >= 9.0.62 und >=  8.5.78) wird die Schwachstelle ebenfalls adressiert und eine Ausnutzung geblockt 
  • Downgrade auf Java 8: Ironischerweise ist das gute alte Java 8 nicht von dieser Schwachstelle betroffen. Somit stellt auch ein Downgrade auf Java 8 eine Möglichkeit dar, von der wir hinsichtlich des Alters von Java 8 allerdings nicht raten würden. 
  • Projekt-Code patchen: Bereits frühzeitig nach Bekanntwerden der Verwundbarkeit kursierten Code-Schnipsel, die den betroffenen Java-Code direkt adressieren. Laut Spring lässt aber insbesondere der einfachste Code-Fix noch Schlupflöcher offen, die ggf. in weiteren Angriffen ausgenutzt werden können. 

Alle Workarounds sind in diesem Blogbeitrag von Spring ausführlicher beschrieben.

 

Ich nutze Spring Boot: Bin ich von Spring4Shell betroffen? 

Anwendungen, die auf Spring Boot betrieben werden, sind nach aktuellen Erkenntnissen nicht betroffen. Dennoch wurde auch von Spring Boot eine aktualisierte Version veröffentlicht, die auf Spring 5.3.18 basiert. 

Wenn ihr bei Spring Boot auf der 2.5.x.-Versionsschiene unterwegs seid, braucht ihr eine Aktualisierung auf 2.5.12 oder höher. Auf der 2.6.x.-Versionsschiene braucht ihr mindestens 2.6.6. Die neueren Versionen von Spring Boot, also 2.7.x und 3.x sind noch nicht final – sie dürften aber auch zeitnah gepatcht werden.

 

Ein erstes Fazit zu Spring4Shell

Die schnelle Behebung der RCE-Lücke im Spring Framework ist für Spring Boot ein gutes Zeichen und ein zügiges Update durch verwendende Projekte gehört zum Pflichtprogramm.
Allerdings sollte der Mechanismus zur Deserialisierung in Kombination mit dem potenziellen Zugriff auf den Classloader aus einer IT-Security-Perspektive genauer im Auge behalten werden, da an dieser Stelle noch weitere Sicherheitsprobleme drohen können (mehr bei Lunasec). Grundsätzlich steigt durch die aktuellen Fälle hoffentlich das Bewusstsein dafür, wie leicht ein Unternehmen Opfer von Angriffen werden kann und damit auch die Bedeutung von IT-Security und einem guten IT-Asset- sowie  Konfigurationsmanagement. 

 

IT-Security bei der viadee

Sie möchten sich und ihr Team auf den neuesten Stand im Bereich IT-Sicherheit bringen? Dafür bieten wir unsere IT-Sicherheitsschulungen IT-Sicherheit für Entwicklerteams und sichere IT-Architekturen.


zurück zur Blogübersicht

Diese Beiträge könnten Sie ebenfalls interessieren

Keinen Beitrag verpassen – viadee Blog abonnieren

Jetzt Blog abonnieren!

Kommentare

Tobias Heide

Tobias Heide

Dr. Tobias Heide ist seit 2015 bei der viadee. Er ist in den Bereichen IT-Architektur, IT-Security und Prozessautomatisierung aktiv und leitet den Kompetenzbereich IT-Security. Tobias Heide ist zertifiziert als Certified Information Systems Security Professional (CISSP). Tobias Heide bei Xing Tobias Heide auf LinkedIn