CVE-2021-44228
Summary
V Apache Log4j 2 byla objevena zranitelnost, která umožnila vzdálenému útočníkovi spouštět kód v procesu aplikace prostřednictvím JNDI lookup a formátování logových zpráv.
Writeup
Log4Shell je klasický příklad zranitelnosti v logging frameworku, který se běžně používá v podnikových aplikacích. Chyba spočívala v tom, že Log4j zpracovával řetězce s formátováním ${jndi:ldap://...} a při logování je vykonával JNDI lookup. Tento mechanismus mohl přistupovat ke vzdálenému LDAP, RMI nebo DNS serveru a následně z něj stáhnout tzv. malicious Java payload. Pokud aplikace data z uživatelského vstupu logovala a zároveň umožňovala běh kódu v JVM, exploita se dařilo spustit bez předchozí autentizace na některých službách. Z pohledu útoku to znamenalo, že i nepříliš kreativní vstup, například v hlavičce HTTP requestu, se mohl stát vstupem pro code execution. Proto je Log4Shell považován za jednu z nejrozsáhlejších bezpečnostních událostí v moderní éře: postihl tisíce aplikací, infrastruktury a cloudových služeb, a vyžádal okamžitý patch a narychlo doplňkovou mitigaci.
Impact
Útočník mohl spouštět kód v kontextu aplikace, číst data, získávat přístup k interním službám a v některých případech zneužít aplikaci jako vstupní bod pro lateral movement v síti.
Affected products
- Apache Log4j 2.0-beta9 through 2.15.0
- Různé aplikace využívající Log4j 2