Encuentra vulnerabilidades de Log4Shell en tus archivos JAR no administrados y sombreados con Snyk CLI
Michal Brutvan
18 de diciembre de 2021
0 minutos de lecturaComo quizá ya sepas, la vulnerabilidad Log4Shell, identificada como CVE-2021-44228 y CVE-2021-45046, se divulgó el viernes (10 de diciembre de 2021) para el framework de registro Log4j de Apache. Snyk CLI es una herramienta poderosa que te permite encontrar CVE de Log4j cuando la biblioteca está incluida de forma directa o transitiva en tu aplicación. Sin embargo, si la biblioteca Log4j no se declaró en el archivo de manifiesto, se bifurcó o se volvió a empaquetar, es posible que no encuentres esas instancias... hasta ahora.
Hoy ampliamos las capacidades de Snyk CLI con un nuevo comando snyk log4shell que te dará más visibilidad sobre tu aplicación, incluida la posibilidad de encontrar rastros de la biblioteca vulnerable aunque no esté declarada en el archivo de manifiesto. El nuevo comando buscará dentro de archivos .jar y .war para encontrar Log4j o sus componentes. También admite los «JAR grandes».
El comando está disponible en Snyk CLI versión 1.796 o posterior y funciona gracias a la innovadora tecnología de análisis y detección que se incorporó con la adquisición de FossID a principios de este año.
Snyk Open Source
Estos comandos ya están disponibles en Snyk Open Source CLI y puedes usarlos para analizar proyectos de Java:
snyk testanaliza los manifiestos del proyecto y determina sus dependencias y las vulnerabilidades conocidas. Lee la documentación de Snyk para Java para obtener más detalles de uso.snyk test --scan-all-unmanagedcompara las firmas de los archivos JAR de la carpeta de destino con las firmas del repositorio de Maven para detectar paquetes individuales y sus vulnerabilidades. Lee la documentación de referencia de CLI para obtener más detalles de uso.
Snyk Log4Shell (Nuevo )
El argumento existente –scan-all-unmanaged no abre los archivos JAR; solo compara sus firmas. Para buscar dentro de archivos .jar y encontrar elementos que no estén declarados —por ejemplo, proyectos bifurcados, archivos con nombres cambiados o archivos JAR reempaquetados (como los JAR grandes)—, presentamos un nuevo comando de Snyk CLI dedicado a encontrar versiones de Log4j afectadas por la vulnerabilidad CVE-2021-44228 (Log4Shell).
snyk log4shell complementa los análisis de Snyk Open Source, que te ayudan a encontrar paquetes vulnerables mediante archivos de manifiesto, al analizar de forma recursiva los binarios de Java compilados para buscar rastros del código fuente de la biblioteca Log4j.
Con snyk log4shell puedes:
Analizar un proyecto de Java para comprobar si incluye archivos .jar con la versión vulnerable de Log4j.
Analizar un proyecto de Java para comprobar si incluye archivos que se sabe que están presentes en la biblioteca Log4j vulnerable. Estos hallazgos indican que podría estar incluida la biblioteca Log4j completa.
Cómo usar snyk log4shell
Asegúrate de que el proyecto esté compilado.
Ejecuta
snyk log4shelldesde el directorio del proyecto que quieras analizar:
Nota: El nuevo comando no requiere ni admite argumentos adicionales de la línea de comandos.
Recursos adicionales
Además de desarrollar esta funcionalidad adicional con Snyk, también hemos estado creando una biblioteca extensa de información sobre la vulnerabilidad Snyk4Shell. Te recomendamos explorar esos recursos —incluidos nuestra guía rápida de corrección de Log4Shell y nuestra guía para encontrar y corregir Log4Shell— para mantenerte a salvo.
