Der Notfall-Patch für die berüchtigte Schwachstelle in der Java-Bibliothek Log4j ist nicht narrensicher. Die Apache Software Foundation veröffentlicht eine neue Version, um die Schwachstelle ein für alle Mal zu beheben.
Eine Schwachstelle in einer sehr beliebten Bibliothek für Java erschüttert die globale IT-Landschaft. Es wird geschätzt, dass die Bibliothek in den meisten Unternehmensumgebungen vorhanden ist.
Log4j wird hauptsächlich für die Protokollierung verwendet. Ereignisse in Anwendungen können mit Notizen registriert werden. Denken Sie an einen Ausdruck der Anmeldedaten nach einem Anmeldeversuch. Oder im Fall einer Webanwendung in Java der Name des Browsers, mit dem ein Benutzer eine Verbindung herzustellen versucht.
Letztere Beispiele sind üblich. In beiden Fällen beeinflusst ein externer Benutzer das Protokoll, das Log4j ausgibt. Es ist möglich, diesen Einfluss zu missbrauchen. Die Protokolle jeder Log4j-Version zwischen dem 13. September 2013 und dem 5. Dezember 2021 können Java-Anwendungen anweisen, den Code von einem Remote-Server auf einem lokalen Gerät auszuführen.
Seit 2013 verarbeitet Log4j eine API: JNDI oder Java Naming and Directory Interface. Durch das Hinzufügen von JNDI kann eine Java-Anwendung Code von einem Remote-Server auf einem lokalen Gerät ausführen. Programmierer weisen an, indem sie einer Anwendung eine einzelne Zeile mit Details über den entfernten Server hinzufügen.
Das Problem ist, dass nicht nur Programmierer die Regel Anwendungen hinzufügen können. Angenommen, Log4j protokolliert die Benutzernamen von Anmeldeversuchen. Wenn jemand die oben genannte Zeile in das Feld Benutzername eingibt, führt Log4j die Zeile aus und die Java-Anwendung interpretiert einen Befehl, um den Code auf dem angegebenen Server auszuführen. Das Gleiche gilt für Fälle, in denen Log4j eine HTTPS-Anfrage protokolliert. Wenn Sie einen Browsernamen in die Zeile ändern, führt Log4j die Zeile aus und weist es indirekt an, den gewünschten Code auszuführen.
Notfall-Patch kann auch unsicher sein
Am 9. Dezember kam die Schwachstelle in großem Umfang ans Licht. Die Apache Software Foundation, Entwickler von Log4j, hat einen Notfall-Patch (2.15) veröffentlicht, um die Schwachstelle zu beheben. Seitdem hat es für Softwarehersteller höchste Priorität, die Version 2.15 zu verarbeiten und einen Patch für Organisationen bereitzustellen.
Die Sicherheitsorganisation LunaSec gibt jedoch an, dass der Patch nicht vollständig wasserdicht ist. Es ist weiterhin möglich, eine Einstellung anzupassen und protokollierte JNDI-Befehle ausführen zu lassen.
Bitte beachten Sie: Die entsprechende Einstellung muss manuell angepasst werden, damit unveränderte Varianten von 2.15 tatsächlich sicher sind. Trotzdem empfiehlt Luna Sec Lieferanten und Organisationen, auf Log4j 2.16 zu aktualisieren. 2.16 wurde von der Apache Software Foundation als Antwort auf LunaSec veröffentlicht. Die neue Version entfernt die verwundbare Einstellung vollständig und macht es unmöglich, die Voraussetzungen für einen Missbrauch zu schaffen.