Spring4Shell-Fehler: Hier erfahren Sie, warum er wichtig ist und was Sie dagegen tun sollten

  • Sep 08, 2023

Microsoft fordert Kunden dringend auf, den Spring4Shell-Java-Fehler zu beheben.

Microsoft hat sich zu Spring4Shell geäußert, einem kürzlich entdeckten Fehler im Spring Framework für Java.

Microsoft ist Kunden erzählen seines Azure-Cloud-Dienstes, um den kürzlich veröffentlichten Fehler zu beheben, eine kritisch bewertete RCE-Schwachstelle (Remote Code Execution), die mit dem Tag „ CVE-2022-22965 und SpringShell oder Spring4Shell genannt – eine Variante der schlimme Log4Shell-Fehler Auswirkungen auf ein anderes Java-basiertes Anwendungsprotokollierungsdienstprogramm.

ZDNET Empfiehlt

Vergleich der Top-VPNs: Sollten Sie außerdem ein kostenloses VPN ausprobieren?

Wir haben die besten VPN-Dienste getestet – mit Schwerpunkt auf der Anzahl der Server, der Möglichkeit, Streaming-Dienste freizuschalten und mehr – um insgesamt die Nummer 1 zu ermitteln. Außerdem sagen wir Ihnen, ob es sich lohnt, kostenlose VPNs auszuprobieren.

Lies jetzt

Zwar gab es zunächst Diskussionen darüber, wie schwerwiegend der Fehler sei, doch die Sicherheitskräfte ermittelten 

Forscher stellten in den Tagen nach der Entdeckung des Fehlers fest, dass es sich bei Spring4Shell tatsächlich um einen schwerwiegenden Fehler handelte Fehler, der Aufmerksamkeit verdient.

Die US-amerikanische Cybersecurity and Infrastructure Security Agency (CISA) am 1. April aufgefordert alle US-Organisationen, einschließlich Bundesbehörden, dazu auffordern, das Problem sofort zu beheben. Am 4. April fügte CISA den Fehler hinzu Katalog bekannter ausgenutzter Schwachstellen, was von den Bundesbehörden verlangt, es innerhalb einer Frist zu patchen.

Das Spring Framework ist „das am weitesten verbreitete leichte Open-Source-Framework für Java“, stellt Microsoft fest. Der Fehler liegt im Java Development Kit (JDK) ab Version 9.0 und höher, wenn das System auch die Spring Framework-Versionen 5.3.0 bis 5.3.17, 5.2.0 bis 5.2.19 und frühere Versionen verwendet.

„In Java Development Kit (JDK) Version 9.0 oder höher kann ein Remote-Angreifer über den Parameter des Frameworks ein AccessLogValve-Objekt erhalten Bindungsfunktion und verwenden bösartige Feldwerte, um den Pipeline-Mechanismus auszulösen und in eine Datei in einem beliebigen Pfad zu schreiben, wenn bestimmte Bedingungen vorliegen getroffen," Das berichtet das Defender-Threat-Intelligence-Team von Microsoft.

Weitere Voraussetzungen für die Ausnutzung sind unter anderem, dass Apache Tomcat als Servlet-Container dient, dass die App als traditionelles Java-Webarchiv (WAR) gepackt und in einem eigenständigen Tomcat bereitgestellt wird Beispiel. Allerdings wird Spring Boot am häufigsten als eingebetteter Servlet-Container oder reaktiver Webserver bereitgestellt, die nicht betroffen sind.

„Jedes System, das JDK 9.0 oder höher verwendet und das Spring Framework oder abgeleitete Frameworks verwendet, sollte als anfällig betrachtet werden“, stellt Microsoft fest.

Microsoft weist darauf hin, dass der einzige funktionierende Exploit, ein Proof of Concept, nur aus der Ferne auf einem Tomcat-Server über sein Protokollierungsmodul mit bestimmten Befehlen verwendet werden kann. Ein Angreifer kann die Standardzugriffsprotokolle für jede gewünschte Datei ändern, indem er über das Internet Anfragen an diese sendet. Ein Angreifer kann dann den Inhalt eines Webservers oder einer Anwendung ändern.

Genau wie Log4Shell ist die Wirkung von Spring4Shell durch die Einbeziehung in andere Produkte spürbar. Das Hypervisor-Unternehmen VMware beispielsweise gewarnt es betraf seine Tanzu-Dienste für virtuelle Maschinen und Containersoftware.

„Der aktuelle Exploit nutzt denselben Mechanismus wie in CVE-2010-1622 und umgeht den vorherigen Bugfix. „Java 9 hat eine neue Technologie namens Java Modules hinzugefügt“, schätzt Microsoft ein.

„Dem Klassenobjekt wurde ein Accessor namens getModule() hinzugefügt. Das Module-Objekt enthält einen getClassLoader()-Accessor. Da der CVE-2010-1622-Fix nur die Zuordnung des getClassLoader()-Accessors von Klassenobjekten verhinderte, ordnete Spring den getClassLoader()-Accessor des Module-Objekts zu. Auch hier könnte man über das Parameternamenspräfix „class.module.classLoader“ auf den Klassenlader von Spring verweisen.

Sicherheitsteams, die an der Erforschung des Themas interessiert sind, können sich an uns wenden dieser Benutzerbeitrag auf GitHub. Das Team hinter Spring hat auch den Patch und die Schwachstelle erklärt Hier.

Sicherheit

8 Gewohnheiten hochsicherer Remote-Mitarbeiter
So finden und entfernen Sie Spyware von Ihrem Telefon
Die besten VPN-Dienste: Wie schneiden die Top 5 im Vergleich ab?
So finden Sie heraus, ob Sie in einen Datenverstoß verwickelt sind – und was als nächstes zu tun ist
  • 8 Gewohnheiten hochsicherer Remote-Mitarbeiter
  • So finden und entfernen Sie Spyware von Ihrem Telefon
  • Die besten VPN-Dienste: Wie schneiden die Top 5 im Vergleich ab?
  • So finden Sie heraus, ob Sie in einen Datenverstoß verwickelt sind – und was als nächstes zu tun ist