Détectez les vulnérabilités Log4Shell dans vos fichiers JAR non gérés et ombrés avec Snyk CLI
Michal Brutvan
18 décembre 2021
0 minutes de lectureComme vous le savez peut-être, la vulnérabilité Log4Shell, identifiée sous les références CVE-2021-44228 et CVE-2021-45046, a été divulguée le vendredi 10 décembre 2021 pour le framework de journalisation Log4j d’Apache. Snyk CLI est un outil puissant qui vous permet de détecter les CVE Log4j lorsque la bibliothèque est incluse directement ou indirectement dans votre application. Toutefois, si la bibliothèque Log4j n’est pas déclarée dans le fichier manifeste, qu’elle a été forkée ou reconditionnée, vous risquez de ne pas détecter ces instances — jusqu’à présent.
Aujourd’hui, nous renforçons les capacités de Snyk CLI avec une nouvelle commande snyk log4shell qui vous offre une meilleure visibilité sur votre application et vous permet notamment de détecter des traces de la bibliothèque vulnérable, même si elle n’est pas déclarée dans le fichier manifeste. Cette nouvelle commande inspecte les fichiers .jar et .war pour y rechercher Log4j ou ses composants. Les « Fat JAR » sont également pris en charge.
La commande est disponible à partir de la version 1.796 de Snyk CLI et s’appuie sur la technologie d’analyse et de détection révolutionnaire rendue possible par l’acquisition de FossID plus tôt cette année.
Snyk Open Source
Ces commandes sont déjà disponibles dans la CLI Snyk Open Source et vous permettent de tester des projets Java :
snyk testanalyse les fichiers manifestes des projets et identifie leurs dépendances ainsi que les vulnérabilités connues. Consultez la documentation de Snyk pour Java pour en savoir plus sur son utilisation.snyk test --scan-all-unmanagedcompare les signatures des fichiers JAR dans le dossier cible à celles du dépôt Maven afin de détecter les packages individuels et leurs vulnérabilités. Consultez la documentation de référence de la CLI pour en savoir plus sur son utilisation.
Snyk Log4Shell (nouveau)
L’argument existant –scan-all-unmanaged n’ouvre pas les fichiers JAR : il compare uniquement leurs signatures. Pour inspecter les fichiers .jar et détecter les éléments non déclarés — par exemple, des projets forkés, des fichiers renommés ou des fichiers JAR reconditionnés (comme les Fat JAR) — nous avons créé une nouvelle commande Snyk CLI spécifiquement conçue pour détecter les versions de Log4j touchées par la vulnérabilité CVE-2021-44228 (Log4Shell).
snyk log4shell complète les analyses de Snyk Open Source, qui vous aident à détecter les packages vulnérables à partir des fichiers manifestes, en analysant récursivement les binaires Java compilés à la recherche de traces du code source de la bibliothèque Log4j.
Avec snyk log4shell, vous pouvez :
Analyser un projet Java pour vérifier s’il contient des fichiers .jar avec une version vulnérable de Log4j.
Analyser un projet Java pour vérifier s’il contient des fichiers connus comme faisant partie de la bibliothèque Log4j vulnérable. De tels résultats indiquent que la bibliothèque Log4j complète est peut-être incluse.
Comment utiliser snyk log4shell
Assurez-vous que le projet est compilé.
Exécutez
snyk log4shelldepuis le répertoire du projet que vous souhaitez analyser :
Remarque : cette nouvelle commande ne nécessite ni ne prend en charge d’autres arguments en ligne de commande.
Ressources supplémentaires
En plus de développer cette fonctionnalité avec Snyk, nous avons également créé une vaste bibliothèque d’informations sur la vulnérabilité Snyk4Shell. Nous vous invitons à consulter ces ressources — notamment notre antisèche de remédiation Log4Shell et notre guide pour détecter et corriger Log4Shell — afin de vous protéger.
