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