Upozorňujeme na závažnou Remote code execution zranitelnost logovacího frameworku Apache Log4j s identifikátorem CVE-2021-44228.

Zranitelnost "Log4Shell" se závažností CVSSv3 9.8 potenciálně postihuje veškeré aplikace, které ji k logování používají a umožňují příjem požadavků skrze libovolný protokol. Zalogováním speciálně vytvořeného požadavku, který útočník na server zašle, dojde kvůli chybě v interpretaci k jeho spuštění, čímž může získat plnou kontrolu nad serverem.

Log4j je nativní součástí produktů Apache, např. Apache Struts, Apache Druid, Apache Flume, Apache Flink, Apache Kafka a dalších. Framework využívají například, ElasticSearch, Logstash a obecně většina aplikací běžících na Javě.

Ke zranitelnosti byl zveřejněn Proof-of-concept a byly již zaznamenány případy skenování a zneužívání. Lze očekávat, že s ohledem na veřejně dostupný kód a nízkou složitost zneužití bude četnost útoků narůstat a zranitelnost může být využita jako vstupní bod například pro ransomware operátory.

Zranitelné produkty

Zranitelné jsou všechny verze Apache log4j od 2.0 do 2.14.1.

Mitigace

Zranitelnost lze mitigovat nastavením parametru `log4j2.formatMsgNoLookups` na `True`, ve verzích 2.0 až 2.14.1. Zranitelnost také opravuje aktualizace 2.16.0 vydaná 13.12.2021, která tento parametr nastavuje na `True` v defaultní konfiguraci a mitiguje zranitelnosti na DoS útok a exfiltraci dat, objevené ve verzi 2.15.0.

Detekce

Zneužití zranitelnosti lze ověřit vyhledáním řetězců `${jndi:ldap://`,`${jndi:rmi://`, `${jndi:ldaps://` v lozích serveru. K vyhledání lze použít například příkaz a YARA pravidlo publikované: https://gist.github.com/Neo23x0/e4c8b03ff8cdf1fa63b7d15db6e3860b

Doporučení

Všem správcům relevantních systémů doporučujeme prověřit, zda jimi provozované aplikace, zejména pokud jsou přístupné z internetu, využívají pro logování Log4j.

Pokud ano, doporučujeme Log4j bezodkladně aktualizovat na verzi 2.15.0-rc2. Pokud není aktualizace z provozních důvodů možná, je doporučeno provést alespoň opatření v podobě spuštění aplikace s parametrem `log4j2.formatMsgNoLookups=True.`

S ohledem na dostupnost PoC a aktivní skenování též doporučujeme servery prověřit metodami uvedenými v sekci Detekce.

Odkazy: