Eine kritische Schwachstelle in der Programmbibliothek „log4j“ hat möglicherweise Auswirkungen auf alle aus dem Internet erreichbaren Java-Anwendungen, die mit Hilfe dieses Frameworks Protokolldaten generieren. Auch auf internen IT-Systemen kann der unter CVE-2021-44228 (Common Vulnerabilities and Exposures) dokumentierte Angriffsvektor ausgenutzt werden, sofern diese externe Daten entgegennehmen oder verarbeiten.

Die weitverbreitete Java-Programmbibliothek „log4j“ für die performante Aggregation von Protokolldaten weist kritische Lücken in den Versionen 2.0 bis 2.15.0 auf. Angreifern ermöglicht dies auf dem Zielsystem eigenen Schadcode durch Nachladen oder direkt in der Abfrage auszuführen und so das betroffene IT-System bzw. die Anwendung zu kompromittieren. Die Gefahr besteht, wenn „log4j“ für die Protokollierung der von Nutzern beeinflussbaren Zeichenketten eingesetzt wird.

Sicherheitswarnung des BSI

Das Bundesamt für Sicherheit in der Informationstechnik (BSI) hat zu der „log4j“-Schwachstelle eine Cyber-Sicherheitswarnung mit der höchsten Einstufung „4 / Rot“ herausgegeben. Nach der Ansicht des BSI ist die IT-Bedrohungslage als extrem kritisch einzustufen. Ein Ausfall des Dienstes und die damit oftmals einhergehende Unterbrechung des Regelbetriebs könne nicht ausgeschlossen werden.

Durch aktuell weltweite Massenscans und die oftmals noch fehlenden Patches für betroffene Produkte, sei eine Infektion von anfälligen IT-Systemen und Anwendungen durch Ausnutzen von „Log4Shell“ nicht auszuschließen. Es gibt bereits erste Meldungen über erfolgreiche Kompromittierungen mit Kryptominern und Hinweise darauf, dass die Schwachstelle auch von Botnetzen ausgenutzt wird.

Was kann unternommen werden?

IT-Systeme und Anwendungsdienste sollten – insbesondere in das Internet – nur solche Verbindungen aufbauen dürfen, die für den Einsatzzweck zwingend notwendig sind. Alle weiteren Zugriffe sollten durch angemessene Kontrollinstanzen wie bspw. Firewalls unterbunden werden. Die Installation von zusätzlichen Web-Application-Firewalls (WAF) kann auf Anwendungsebene bekannte Angriffsmuster über das Hypertext Transfer Protocol (HTTP) verhindern.

Ein Update auf die aktuelle Version 2.16.0 von „log4j“ sollte dennoch die erste Maßnahme sein, sobald dies für das eingesetzte und betroffene Software-Produkt möglich ist. Sofern „log4j“ als eigenständige JAR-Datei vorliegt, kann diese ggf. direkt ausgetauscht werden. Häufig kann die Aktualisierung von Bibliotheken aber nicht zeitnah erfolgen, daher sollten folgende mitigierende Maßnahmen ergriffen werden:

Die Java Virtual Machine sollte mit dem Argument „-Dlog4j2.formatMsgNoLookups=True“ gestartet werden. Alternativ kann auch die Umgebungsvariable „LOG4J_FORMAT_MSG_NO_LOOKUPS“ auf „true“ gesetzt werden oder die Java-Klasse „JndiLookup“ aus dem Klassenpfad mit „zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class” gelöscht werden.

Die „log4j“ Versionen 1.x sind von dieser Schwachstelle nach aktuellem Kenntnisstand nicht betroffen. Allerdings werden die Versionen mit 1.x nicht mehr vom Hersteller unterstützt. Sie sind End-of-Life und durch andere Schwachstellen verwundbar. Eingesetzte „log4j“-Versionen sollten ebenfalls auf eine nicht-verwundbare Version aktualisiert werden.

Fazit

Zero-Day-Schwachstellen können besonders kritische Auswirkungen nach sich ziehen, da Angreifer Lücken in IT-Systemen oder Anwendungen entdeckt haben und ausnutzen konnten, bevor der Hersteller darauf aufmerksam geworden ist. Der Schwachstelle „Log4Shell“ sollte schnellstmöglich durch die Aktualisierung auf die nicht-verwundbare Version 2.16.0 der Programmbibliothek „log4j“ begegnet werden. Ist ein Update nicht möglich sollten die oben beschriebenen mitigierenden Maßnahmen vorgenommen werden und sich auf den Webseiten der eingesetzten Hersteller über anstehende Patches und Workarounds informiert werden. Ggf. sollten die angreifbaren Anwendungen vorübergehend deaktiviert werden. Konnte bereits eine Aktualisierung vorgenommen werden, so sollten auch diese IT-Systeme und Anwendungen auf eine mögliche Kompromittierung untersucht werden.

Weitere Informationen zur Betroffenheit von Produkten und der Bereitstellung von Aktualisierungen können den beiden folgenden GitHub-Repositories entnommen werden: