Log4J Vulnerability CVE-2021-44228 Check


Por Martinez Henry


Resumen (TL;DR)

El 10/12/2021 se publicó la vulnerabilidad CVE-2021-44228 para Log4J (versiones 2.0.x a 2.14.1), catalogada con el máximo nivel de riesgo. Este artículo muestra cómo verificar rápidamente si un proyecto Maven está expuesto.


📑 Tabla de Contenido

  1. Contexto
  2. Validación de Dependencias

Log4J Vulnerability CVE-2021-44228 Check

El día viernes 10/12/2021 se publicó una vulnerabilidad catalogada con el máximo nivel de riesgo para la librería Log4J, para las versiones 2.0.x hasta la 2.14.1 (puedes conocer más sobre esta vulnerabilidad en CVE-2021-44228). Esta situación alertó a muchas empresas y equipos de tecnología que tuvieron que identificar rápidamente los proyectos que usaban esta librería para resolverlo.

A continuación, una fórmula que puede ayudar con esta tarea. Cabe mencionar que este método solo es válido para proyectos que usan Maven como empaquetador.


Validación de Dependencias

Para verificar si un proyecto posee la vulnerabilidad detectada para log4j ejecuta la siguiente sentencia:

mvn dependency:list | grep "log4j-core:jar:2." | awk '{ print $2 }'

Esta nos devolverá específicamente la dependencia de log4j-core que posee el problema. Si no obtenemos ningún resultado, nuestro proyecto no está vulnerable.

Ejemplo

mvn dependency:list | grep "log4j-core:jar:2." | awk '{ print $2 }'

org.apache.logging.log4j:log4j-core:jar:2.14.0:compile

Como vemos en este caso, el comando arrojó org.apache.logging.log4j:log4j-core:jar:2.14.0:compile, indicándonos que la versión 2.14.0 de Log4J está presente en el proyecto y debemos resolverlo cuanto antes.


Cierre

Un comando puede marcar la diferencia entre detectar una vulnerabilidad crítica a tiempo o descubrirla tarde. Este tipo de verificaciones deberían ser parte del proceso de revisión de dependencias en cualquier proyecto Java con Maven.


Referencias e Inspiraciones: