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
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:
- MITRE. CVE-2021-44228. cve.mitre.org
- Apache Logging. Log4j Security Vulnerabilities. logging.apache.org