Fecha de publicación: Mié, 15/12/2021 - 15:34

Alerta de seguridad

Nivel de peligrosidad: Bajo

Descripción

Log4j es la librería más conocida para el registro de logs en servidores web que utilizan java, ya se había verificado esta vulnerabilidad en el CVE-2021-44228 que da como solución la actualización a Log4j 2.15.0, sin embargo esta solución es incompleta en configuraciones que no son por defecto. Esto podría permitir que los atacantes controlen datos de entrada del Mapa de contexto de Subprocesos (Thread Context Map) cuando la configuración de registros utiliza un diseño de patrón con una búsqueda de contexto (por ejemplo: $${ctx:loginId} ) o un patrón de mapa de contexto de subprocesos (%X, %mdc, ó %MDC) para crear datos de entrada maliciosos utilizando un patrón de búsqueda JNDI que da como resultado un ataque de denegación de servicio (DoS). Log4j 2.15.0 restringe las búsquedas JNDI LDAP al localhost por defecto.

Es importante denotar que las anteriores mitigaciones relacionadas con la configuración, tal como ajustar la propiedad del sistema log4j2.noFormatMsgLookup a "True" no mitiga esta vulnerabilidad específica.

La vulnerabilidad identificada con CVE-2021-45046 de nivel de peligrosidad bajo.

Recursos afectados

Log4j 2.15.0

Solución/Mitigación

Actualizar la librería a Log4j 2.16.0 en Java 8 y a Log4j 2.12.2 en Java 7.

Verificar si su servidor es vulnerable

Puede verificar si su servidor es vulnerable descargando la herramienta del repositorio en https://github.com/rubo77/log4j_checker_beta 

O ejecutar el siguiente comando en la terminal:

wget https://raw.githubusercontent.com/rubo77/log4j_checker_beta/main/log4j_checker_beta.sh -q -O - |bash

Recomendaciones

Debido a que la vulnerabilidad esta siendo explotada activamente, se debe actualizar con urgencia a la versión 2.16.0, también los administradores y usuarios de log4j deben implementar medidas de seguridad como la tokenización para evitar futuros ataques.

Referencias

Apache Log4j Security Vulnerabilities

Exploit RCE de día cero encontrado en un paquete de registro de Java