Sie entdeckten eine Schwachstelle im Spring Framework

Kürzlich haben die Nachrichten das verbreitet Es wurde eine kritische Schwachstelle vom Typ Zero Day entdeckt im Modul Spring Core wird als Teil des Spring Framework ausgeliefert, wodurch ein entfernter, nicht authentifizierter Angreifer seinen Code auf dem Server ausführen kann.

Nach einigen Schätzungen das Spring Core-Modul wird in 74 % der Java-Anwendungen verwendet. Die Gefahr der Schwachstelle wird dadurch verringert, dass nur Anwendungen, die Verwenden Sie dazu die Annotation "@RequestMapping".Durch den Anschluss von Anforderungshandlern und die Verwendung von Webformular-Parameterbindungen im Format „Name=Wert“ (POJO, Plain Old Java Object) anstelle von JSON/XML sind sie anfällig für Angriffe. Welche Java-Anwendungen und -Frameworks von dem Problem betroffen sind, ist noch nicht klar.

Diese Schwachstelle mit dem Namen „Spring4Shell“ nutzt Klasseninjektionen aus, die zu einem vollständigen RCE führen, und ist sehr schwerwiegend. Der Name „Spring4Shell“ wurde gewählt, weil Spring Core eine allgegenwärtige Bibliothek ist, ähnlich wie log4j, das die berüchtigte Log4Shell-Schwachstelle hervorgebracht hat.

Wir glauben, dass Benutzer, die JDK Version 9 und höher ausführen, anfällig für einen RCE-Angriff sind. Alle Versionen von Spring Core sind betroffen.

Es gibt Strategien, um den Angriff abzuschwächen, und wir glauben, dass nicht alle Spring-Server notwendigerweise anfällig sind, abhängig von anderen Faktoren, die unten besprochen werden. Allerdings empfehlen wir derzeit allen Benutzern, Risikominderungen anzuwenden oder ein Upgrade durchzuführen, wenn sie Spring Core verwenden.

Die Ausnutzung der Schwachstelle ist nur bei Verwendung von Java/JDK 9 möglich oder eine neuere Version. Die Schwachstelle blockiert das Blacklisting der Felder „class“, „module“ und „classLoader“ oder die Nutzung einer expliziten Whitelist erlaubter Felder.

Das Problem ist auf die Möglichkeit zurückzuführen, den Schutz vor der Schwachstelle CVE-2010-1622 zu umgehen, Im Spring Framework 2010 behoben und mit der Ausführung des classLoader-Handlers beim Analysieren von Anforderungsparametern verknüpft.

Der Betrieb des Exploits reduziert sich auf das Senden einer Anfrage. cmit den Parametern „class.module.classLoader.resources.context.parent.pipeline.first.*“, deren Verarbeitung bei Verwendung von „WebappClassLoaderBase“ zu einem Aufruf der Klasse AccessLogValve führt.

Mit der angegebenen Klasse können Sie den Logger so konfigurieren, dass er eine beliebige jsp-Datei in der Root-Umgebung von Apache Tomcat erstellt und den vom Angreifer angegebenen Code in diese Datei schreibt. Die erstellte Datei steht für direkte Anfragen zur Verfügung und kann als Web-Shell verwendet werden. Um eine verwundbare Anwendung in der Apache-Tomcat-Umgebung anzugreifen, reicht es aus, eine Anfrage mit bestimmten Parametern mithilfe des Curl-Dienstprogramms zu senden.

Das in Spring Core betrachtete Problem nicht zu verwechseln mit neu identifizierten Schwachstellen CVE-2022-22963 und CVE-2022-22950. Das erste Problem betrifft das Spring Cloud-Paket und ermöglicht auch die Remote-Code-Ausführung (Exploit). CVE-2022-22963 wurde in den Versionen Spring Cloud 3.1.7 und 3.2.3 behoben.

Das zweite Problem CVE-2022-22950 ist in Spring Expression vorhanden, kann zum Starten von DoS-Angriffen verwendet werden und wird in Spring Framework 5.3.17 behoben. Dies sind grundlegend unterschiedliche Schwachstellen. Die Spring-Framework-Entwickler haben sich noch nicht zu der neuen Schwachstelle geäußert und keinen Fix veröffentlicht.

Als vorübergehende Schutzmaßnahme wird empfohlen, in Ihrem Code eine schwarze Liste mit ungültigen Abfrageparametern zu verwenden.

Immer noch Es ist nicht klar, wie katastrophal die Folgen sein können des identifizierten Problems und ob die Angriffe so massiv sein werden wie im Fall der Schwachstelle in Log4j 2. Die Schwachstelle trägt den Codenamen Spring4Shell, CVE-2022-22965, und die Updates Spring Framework 5.3.18 und 5.2.20 wurden veröffentlicht Verletzlichkeit zu adressieren.

In den zuletzt veröffentlichten Spring-Versionen 31 und 2022 ist nun ein Patch zum 5.3.18. März 5.2.20 verfügbar. Wir empfehlen allen Benutzern ein Upgrade. Für diejenigen, die kein Upgrade durchführen können, sind die folgenden Minderungen möglich:

Basierend auf dem Beitrag von Praetorian, der das Vorhandensein eines RCE in Spring Core bestätigt, besteht der derzeit empfohlene Ansatz darin, DataBinder zu patchen, indem eine schwarze Liste anfälliger Feldmuster hinzugefügt wird, die für die Ausnutzung benötigt werden.

Endlich ja Sie möchten mehr darüber erfahren Über die Notiz können Sie die Details überprüfen im folgenden Link.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.