BLOG

Spring4Shell und verwandte Schwachstellen verstehen und beheben (CVE-2022-22965, CVE-2022-22950, CVE-2022-22963)

Brian A. McHenry Miniaturbild
Brian A. McHenry
Veröffentlicht am 01. April 2022

Um Yogi Berra zu zitieren, den unsterblichen Catcher der New York Yankees, Mitglied der Major League Baseball Hall of Fame und Erfinder von Malapropismen: „Es ist wieder ein Déjà-vu.“

Gerade als wir alle dachten, dass wir uns nach den Strapazen und dem Durcheinander, die die Log4j- Sicherheitslücke und die Log4Shell-Angriffe verursacht hatten, wieder gefahrlos in die Anwendungsentwicklung stürzen könnten, taucht hier schon wieder eine gewaltige Sicherheitslücke auf, die einen großen Teil der Sicherheit beeinträchtigt und wertvolle Ressourcen verschlingt.

Wie Sie wahrscheinlich bereits gehört haben, hat ein in China ansässiger Forscher am 29. März 2022 Screenshots einer Remote Code Execution (RCE)-Schwachstelle in der Spring Core Java-Bibliothek veröffentlicht. Der Schwachstelle wurde inzwischen die Signatur CVE-2022-22965 und der CVSS-Schweregrad „Kritisch“ zugewiesen. Die von VMware gemeldete Sicherheitslücke wurde auf GitHub veröffentlicht, aber schnell entfernt. Leider war der Schaden bereits angerichtet und die Sicherheitslücke wurde schnell in anderen Repositories veröffentlicht.

Wie viele schwerwiegende Schwachstellen, die große mediale Aufmerksamkeit erregen, hat auch CVE-2022-22965 einen gebräuchlichen Namen erhalten: Spring4Shell oder in einigen Fällen SpringShell. Ungeachtet dessen ist eine Sicherheitslücke dieser Schwere, egal wie man sie nennt, auf jeden Fall gefährlich, da Spring-Bibliotheken in den meisten Anwendungen verwendet werden, um Java-Programmierern Zeit zu sparen.

Laut einem Blog, das Spring am 31. März 2022 als frühe Ankündigung des RCE gepostet hat, wirkt sich die Sicherheitslücke auf Spring MVC- und Spring WebFlux-Anwendungen aus, wenn diese auf Java Development Kit (JDK) 9+ ausgeführt werden. Es kann auch erforderlich sein, dass die Anwendung als WAR auf einem Apache Tomcat ausgeführt wird. Die Sicherheitslücke betrifft die Spring Framework-Versionen 5.3.0 bis 5.3.17, 5.2.0 bis 5.2.19 und ältere Versionen. Vielleicht noch beunruhigender ist die weitere Warnung von Spring: „Die Natur der Sicherheitslücke ist allgemeiner Natur und es könnte noch andere Möglichkeiten geben, sie auszunutzen, die bisher nicht gemeldet wurden.“

Außerdem sind laut Spring Anwendungen, die als Java Archive (JAR)-Bereitstellungen ausgeführt werden – was die Standardeinstellung ist – nicht anfällig für CVE-2022-22965. Der Anbieter räumt jedoch ein, dass sie von anderen Ausnutzungstechniken betroffen sein können.

Die Spring4Shell-Sicherheitslücke folgt kurz auf eine andere. In der Spring Cloud Function-Software, Versionen 3.1.6 und 3.2.2 sowie in älteren, nicht unterstützten Versionen können speziell gestaltete Routing-Ausdrücke in Spring Expression Language (SpEL) erstellt werden, um auf lokale Ressourcen zuzugreifen und möglicherweise einen RCE-Angriff zu ermöglichen. Ursprünglich mit einem CVSS-Schweregrad von „mittel“ eingestuft, wurde CVE-2022-22963 inzwischen als „kritische“ Sicherheitslücke neu eingestuft. Korrekturen sind durch ein Upgrade auf Spring Cloud Function Version 3.1.7 oder 3.2.3 verfügbar.  

Unabhängig von CVE-2022-22965 und CVE-2022-22963 wurde am 28. März 2022 eine weitere Sicherheitslücke in Spring gemeldet, CVE-2022-22950. Es handelt sich um eine Denial-of-Service-Schwachstelle (DoS) in den Spring Framework-Versionen 5.3.0 – 5.3.16 und älteren, nicht unterstützten Versionen. Spring hat Korrekturen im Spring Framework 5.3.17+ veröffentlicht.

Bis heute wurden bereits Spring4Shell-Scanner erstellt und eingesetzt und es gibt Berichte über die aktive Ausnutzung der Sicherheitslücke.

Spring hat Versionen veröffentlicht, die die Sicherheitslücke CVE-2022-22965 beheben, darunter Spring Framework 5.3.18 und 5.2.20 sowie Spring Boot 2.5.12, das von Spring Framework 5.3.18 abhängt. (Spring Boot 2.6.6, das ebenfalls auf Spring Framework 5.3.18 basiert, soll laut Spring bald veröffentlicht werden.)

Obwohl Spring gute Arbeit geleistet hat und Fixes zur Behebung dieser kniffligen Sicherheitslücken veröffentlicht hat, liegt die Verantwortung, die Updates so schnell wie möglich anzuwenden, erneut bei den Unternehmen. Die Herausforderung besteht, wie bei Log4j-/Log4Shell-Problemen, in der Allgegenwart der Bibliotheken und der Tatsache, dass sie in Anwendungen verwendet werden können, die den Organisationen möglicherweise nicht bekannt sind. Wenn eine Organisation nicht weiß, dass eine Anwendung einen betroffenen Satz von Bibliotheken verwendet, wie kann sie sich und ihre Benutzer vor den Auswirkungen des Exploits schützen?

Hier kommt F5 ins Spiel.

Zwar bestehen Ähnlichkeiten und Unterschiede in den Merkmalen zwischen den Schwachstellen des Spring-Frameworks und den Log4j-Schwachstellen sowie den Log4Shell-Exploits, doch können beide durch den Einsatz von Web Application Firewalls (WAFs) und ähnlichen Sicherheitslösungen erkannt und blockiert werden.

Als F5-Kunde verfügen Sie bereits über einige der wirksamsten Schutzmechanismen zum Schutz vor Angriffen auf Basis von Spring4Shell und verwandten Schwachstellen. F5 fordert Sie und Ihre Entwicklungsteams jedoch dringend auf, alle betroffenen Spring-Bibliotheken unverzüglich zu aktualisieren und alle anfälligen Spring-Bibliotheken aus Ihren Anwendungen zu entfernen, sofern sie nicht mehr benötigt werden.

So unterstützt Sie F5 und schützt Ihre Anwendungen, Ihre Organisation und Ihre Benutzer durch unser umfassendes, dynamisches Portfolio an Sicherheitsprodukten und -diensten.

F5 Sicherheitsvorfall-Response-Team (SIRT)

Wenn Sie angegriffen werden oder befürchten, dass Ihr Unternehmen und seine Apps anfällig und ungeschützt sind, wenden Sie sich bitte an unser F5-Supportteam und fordern Sie eine Eskalation an das F5 SIRT an. Dieses Team ist rund um die Uhr an 365 Tagen im Jahr verfügbar und führt Sie durch den Patchvorgang für F5-Systeme und -Software, hilft Ihnen bei der Konfiguration und unterstützt Sie bei der Bereitstellung von F5 iRules , um die Gefährdung zu begrenzen oder Angriffe abzuschwächen.


Erweitertes BIG-IP-WAF

F5 hat Signatursätze für BIG-IP Advanced WAF- und BIG-IP ASM-Bereitstellungen veröffentlicht und wird dies auch weiterhin tun, um alle bekannten Angriffsmethoden zu blockieren, die durch Spring4Shell-Schwachstellen offengelegt werden. Darüber hinaus werden die Signaturen ständig aktualisiert und mit Schutzmechanismen gegen Umgehungsversuche versehen. Stellen Sie sicher, dass Sie über das aktuellste Attack Signature Update (ASU)-Paket verfügen und damit arbeiten. 

Bei Kunden, die weder Advanced WAF noch ASM eingesetzt haben, kann eine iRule auf die Anwendung angewendet werden, um jeglichen schädlichen Datenverkehr, der möglicherweise auf bestimmte CVEs abzielt, zu erkennen, zu protokollieren und zu löschen.

NGINX App Protect WAF

F5 gewährleistet konsistente Anwendungssicherheit unabhängig von der F5-Plattform, die Kunden verwenden und einsetzen. Daher erhalten Kunden von NGINX App Protect WAF dieselben aktualisierten Signaturen gleichzeitig mit Kunden von BIG-IP Advanced WAF. Bitte stellen Sie sicher, dass Sie Ihre NGINX App Protect WAF-Signaturen aktualisieren. Weitere Informationen hierzu finden Sie in dieser Anleitung . Stellen Sie außerdem sicher, dass der Angriffstyp „Server Side Code Injection“ in Ihrer WAF-Richtlinie aktiviert ist.

F5 Distributed Cloud WAAP

Der kürzlich veröffentlichte F5 Distributed Cloud Web Application and API Protection (WAAP) schützt in Clouds und Edge-Sites bereitgestellte Apps und APIs mit der branchenführenden, SaaS-basierten Web Application Firewall (WAF) und Bot-Schutz von F5, erweiterter API-Sicherheit und L3-L7-DDoS-Abwehr. Der One-WAF-Ansatz von F5 gewährleistet konsistente Anwendungssicherheit, unabhängig vom von den Kunden bereitgestellten F5-Angebot. Da Signaturen zum Beheben der Spring4Shell-Schwachstellen bereits erstellt und für BIG-IP Advanced WAF und NGINX App Protect WAF verfügbar gemacht wurden, wurden sie gleichzeitig auch für Distributed Cloud WAAP verfügbar gemacht. Es sind keine weiteren Maßnahmen erforderlich, da Sie als Distributed Cloud WAAP-Kunde bereits geschützt sind.

Verteilte Cloud-WAF von F5

Wie BIG-IP Advanced WAF, NGINX App Protect und Distributed Cloud WAAP hat F5 Distributed Cloud WAF bereits die erforderlichen Signaturen zum Schutz vor Gefährdungen durch Spring4Shell-Schwachstellen erhalten. Sie sind in der WAF-Standardrichtlinie enthalten, sodass keine weiteren Maßnahmen erforderlich sind.

F5 Silverline WAF

Das F5 Silverline -Team hat bereits die erforderlichen Abhilfemaßnahmen umgesetzt und kann so den Kunden garantieren, dass ihre Anwendungen vor Spring4Shell und verwandten Schwachstellen geschützt sind. F5 Silverline SOC überwacht kontinuierlich die Bedrohungen und ist bereit, alle notwendigen Abwehrmaßnahmen in Zusammenarbeit mit dem Bedrohungsforschungsteam von F5 und Ihnen, unseren Kunden, zu ergreifen. Es erweitert Ihr AppSec-Team und arbeitet rund um die Uhr an 365 Tagen im Jahr für Sie. Wenn Sie Fragen zu F5 Silverline haben, wenden Sie sich bitte an das Team unter support@f5silverline.com .

Bedrohungsstapel

Threat Stack wurde vor Kurzem von F5 übernommen und bietet Funktionen zur Überprüfung, Erkennung und Berichterstattung. Der Threat Stack-Dienst umfasst Erkennungsregeln, die bestimmen, ob ein Spring4Shell-Kompromiss Anlass zur Sorge gibt, und kann Dienste als Root oder von einer Shell aus starten und Versuche eskalieren. Weitere Informationen erhalten Sie von Ihrem F5-Vertriebsmitarbeiter oder besuchen Sie https://www.threatstack.com .

Verteilte Cloud-Bot-Abwehr von F5

Der Versuch, eine Schwachstelle wie Spring4Shell auszunutzen, beginnt normalerweise mit einer automatisierten Aufklärung. F5 Distributed Cloud Bot Defense ist Ihre erste Verteidigungslinie. Es kann automatische Scans stoppen und so den Schwierigkeitsgrad für Angreifer erhöhen, die herausfinden möchten, ob in Ihrem Unternehmen Web-Apps mit Spring4Shell-Anfälligkeit vorhanden sind. Die F5 Distributed Cloud Services halten mit den sich ständig weiterentwickelnden Taktiken von Angreifern, die Botnetze betreiben, Schritt und ermöglichen eine Echtzeitanpassung an botgesteuerte automatisierte Angriffe.

BIG-IP SSL-Orchestrator

Da in den meisten Java-basierten Anwendungen Spring-Bibliotheken zum Einsatz kommen, ist es für Unternehmen wie Ihres eine Herausforderung, das volle Ausmaß der Schwachstellen und der potenziellen Angriffe zu ermitteln, die sich daraus ergeben. Es kann auch einige Zeit dauern, bis Sie alle betroffenen Anwendungen aktualisiert haben (sofern Sie sie alle finden können). Dies kann dazu führen, dass Ihre Apps und Organisationen angreifbar und ausnutzbar sind. F5 SSL Orchestrator macht verschlüsselten Datenverkehr sichtbar und stoppt verschlüsselte Bedrohungen. Es entschlüsselt den Datenverkehr, der Ihr Netzwerk durchläuft, sogar den Serverdatenverkehr, und leitet den Datenverkehr automatisch an Sicherheitsketten weiter, die Sie basierend auf den Lösungen in Ihrem Sicherheitsstapel definieren können. SSL Orchestrator bekämpft nicht nur verschlüsselte Bedrohungen, sondern kann auch verschlüsselten bösartigen Datenverkehr stoppen, wie z. B. Datenverkehr, der für ein Command-and-Control-System bestimmt ist (C2 )-Server. SSL Orchestrator kann nicht nur CVE-2022-22965 abschwächen, sondern schützt auch vor zukünftigen Schwachstellen und Exploits.

F5 hält Sie über die neuesten Entwicklungen zu Spring4Shell ( CVE-2022-22965 ) und verwandten Schwachstellen auf dem Laufenden und informiert Sie darüber, wie F5 sich gegen weitere Exploits verteidigt und diese eindämmt.

Sobald neue Informationen vorliegen, werden wir dieses Blog aktualisieren. Für weitere Informationen können Sie auf die folgenden Ressourcen zugreifen:

K11510688: Spring Framework (Spring4Shell) und Spring Cloud-Schwachstellen CVE-2022-22965, CVE-2022-22950 und CVE-2022-22963

K24912123: Mildern Sie die Schwachstellen von Spring Framework (Spring4Shell) und Spring Cloud mit dem BIG-IP-System