Log4j ist ein Logging-Framework. Mit Log4j können Anwendungsmeldungen in Java geloggt werden. Dieses wird sowohl für viele Open-Source- wie auch für kommerzielle Software-Produkte verwendet. Das Projekt wurde 1996 ursprünglich von Ceki Gülcü während seiner Arbeit am IBM-Entwicklungslabor in Zürich gegründet. Heute ist es ein Teil des Logging-Projekts der Apache Software Foundation und steht unter der Apache-Lizenz 2.0. Mit Log4j können Meldungen über sogenannte Logger an ausgewählte Loggingsysteme weitergeleitet werden. Zudem kann aufgrund der Wichtigkeit («Log-Level») eine Filterung und die Art der Ausgabe konfiguriert werden.
Sicherheitslückenbefund im Dezember 2021
Am 10. Dezember 2021 wurde eine Zero-Day-Lücke in Log4j Version 2 identifiziert (CVE-2021-44228, oft auch als Log4Shell bezeichnet). Diese Lücke konnte von Angreifern ausgenutzt werden, um einen beliebigen Code ausführen zu lassen.
«Apache Log4j Security Vulnerabilities» listet alle betroffenen Versionen und Massnahmen des Apache-Projekts zu dieser Sicherheitslücke auf. Bisher erfolgte Massnahmen, um die Lücke zu schliessen:
Krititische Sicherheitslücke CVE-2021-4428
- für betroffene Versionen 2.0-bet9 bis 2.12.1 und 2.13.0 bis 2.14.1
Sicherheitslücke CVE-2021-45046
- Veröffentlichung Apache Log4j Version 2.12.2 und 2.16.0
- für betroffene Versionen 2.0-beta9 bis 2.12.1 und 2.13.0 bis 2.15.0
- Die veröffentlichte Version Apache Log4j 2.15.0 war für bestimmte nicht standardmässige Konfigurationen unvollständig.
GovCERT.ch hat eine dedizierte Seite zu diesem Thema publiziert, welche die Sicherheitslücke im Detail beschreibt und die Problemstellung sowie die Problemösung auch anhand einer Grafik darstellt.