Seguridad

0day crítico en Apache Log4j

Ha sido revelada una vulnerabilidad de día cero de alta gravedad en la biblioteca Apache Log4j, siendo explotada activamente y permitiría la ejecución de código remoto en los sistemas vulnerables.

Apache Log4j es una biblioteca de código abierto desarrollada en Java que permite a los desarrolladores escribir mensajes de registro de logs. Se trata de una biblioteca ampliamente utilizada en software popular de diversos fabricantes, entre los que se incluyen Amazon, Apple iCloud, Cisco, Cloudflare, ElasticSearch, Red Hat, Steam, Tesla, Twitter, e incluso videojuegos como Minecraft.

La vulnerabilidad, identificada como CVE-2021-44228 y bautizada como ‘Log4Shell’ o ‘LogJam’, se debe a que las características JNDI (siglas en inglés para el Interfaz de Nombrado y Directorio Java) utilizadas en la configuración, los mensajes de registro y los parámetros no ofrecen protección contra el acceso a servicios de directorio remoto y otros puntos finales.

Este fallo de seguridad podría permitir a un atacante remoto no autenticado ejecutar código arbitrario cargado desde servidores remotos. Podría lograrse mediante una única cadena de texto, que provocaría que una aplicación se comunicase con un host externo malicioso, desde el que se descargaría la carga útil y se ejecutaría localmente en el sistema afectado. Como ejemplo, se ha demostrado la posibilidad de ejecutar código remoto en los servidores del videojuego Minecraft simplemente escribiendo un mensaje especialmente diseñado en el cuadro de chat.

La vulnerabilidad, descubierta por Chen Zhaojun del equipo de seguridad Alibaba Cloud Security Team, ha recibido una puntuación CVSS de 10 sobre 10 debido, entre otras razones, a su gravedad y facilidad de explotación.

Se encuentran afectadas las versiones de Apache Log4j comprendidas entre la 2.0-beta9 y la 2.14.1, ambas incluidas. Apache Software Foundation ha publicado soluciones para contener la vulnerabilidad en la versión 2.15.0 y posteriores.

Según los expertos en seguridad, este 0day en Apache Log4j probablemente podría ser considerado como la vulnerabilidad más crítica descubierta durante este año 2021.

Actualmente se han publicado pruebas de concepto (PoC) y la vulnerabilidad esta siendo activamente explotada. Firmas de ciberseguridad como BitDefender, Cisco Talos, Huntress Labs y Sonatype confirman evidencias de escaneos masivos de aplicaciones afectadas en busca de servidores vulnerables y han registrado ataques contra sus honeypots. Según declaraciones de la empresa Cloudflare, se han visto en la necesidad de bloquear aproximadamente 20 mil peticiones por minuto que buscaban explotar el fallo de seguridad; estos ataques se produjeron alrededor de las 6:00 p.m. (UTC) del pasado viernes, y estaban originados en su mayoría desde Canadá, EE. UU., Países Bajos, Francia y Reino Unido.

Dada la facilidad de explotación, se espera que los ataques dirigidos a servidores susceptibles continuen en aumento durante los próximos días, por lo que es altamente recomendable abordar el problema de inmediato.

La actualización de la biblioteca a la versión Apache Log4j 2.15.0 o posterior soluciona el fallo de seguridad. Sin embargo, de no ser posible aplicar los parches de seguridad, se recomiendan las siguientes contramedidas para mitigar el problema:

· En versiones 2.10 hasta 2.14.1 se recomienda establecer el parámetro log4j2.formatMsgNoLookups o la variable de entorno LOG4J_FORMAT_MSG_NO_LOOKUPS en verdadero (true).
· En versiones inferiores a la 2.10 y hasta la 2.0-beta9, eliminar la clase JndiLookup de la ruta de clases (mediante el comando zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class )

También se recomienda realizar comprobaciones para determinar si una aplicación es potencialmente susceptible a la vulnerabilidad ‘Log4Shell’ a través de una búsqueda de archivos que coincidan con el patrón: log4j-core-*.jar. La ubicación de esos ficheros indicarían qué aplicación debe ser revisada (por ejemplo, en Windows, si el archivo se encuentra en C:Program FilesApplicationNamelog4j-core-version.jar, indica que la aplicación potencialmente afectada es ApplicationName). En sistemas GNU/Linux también puede utilizarse el comando lsof para determinar que procesos tienen esos ficheros en uso.

Finalmente, se ofrece en GitHub una recopilación de los hashes de las diferentes versiones de la biblioteca vulnerable para facilitar su búsqueda en los sistemas.

Más información:
Apache Log4j Security Vulnerabilities
https://logging.apache.org/log4j/2.x/security.html

CVE-2021-44228-Log4Shell-Hashes
https://github.com/mubix/CVE-2021-44228-Log4Shell-Hashes

La entrada 0day crítico en Apache Log4j se publicó primero en Una al Día.

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.