Nach Bekanntwerden einer kritischen Log4j2-Sicherheitslücke patchen weltweit DevOps und Sysadmins deren Anwendungen mit integrierter Log4j2-Library.
Grundsätzlich würde man eine alte Log4j2-Version anhand des Dateinamens des JAR-Files (z.B. log4j-api-2.14.0.jar
) erkennen. Wenn es aber zu Umbenennungen oder zu „merged JAR-Files“ gekommen ist, führt die Dateinamen-Suche ins Leere.
Abhilfe schafft u.a. der CVE-2021-44228-Scanner auf Github:
>> Download: https://github.com/logpresso/CVE-2021-44228-Scanner
Update vom 15.12.2021
Der Patch in der Log4j2-Version 2.15
, der für CVE-2021-44228 eine erste Abhilfe, war unvollständig, und so kann im Sonderfall weiterhin eine Attacke stattfinden:
The fix to address CVE-2021-44228 in Apache Log4j 2.15.0 was incomplete in certain non-default configurations. This could allow attackers with control over Thread Context Map (MDC) input data when the logging configuration uses a non-default Pattern Layout with either a Context Lookup (for example, $${ctx:loginId}) or a Thread Context Map pattern (%X, %mdc, or %MDC) to craft malicious input data using a JNDI Lookup pattern resulting in a denial of service (DOS) attack.
Quelle: https://github.com/advisories/GHSA-7rjr-3q55-vv33
Die Version 2.16
löst auch dieses Problem, und damit CVE-2021-45046.
Update vom 20.12.2021
Es gibt eine weitere Version 2.17
, die einen Sonderfall, der in Version 2.16
noch übersehen wurde, nun ebenfalls abdeckt.
Image Credits: Bug icons created by Freepik – Flaticon