Début décembre 2021, l’équipe de sécurité informatique de réponse aux incidents(Computer Security Incident Response Team) de la Fondation Restena a reçu des rapports concernant une vulnérabilité critique affectant la bibliothèque de journalisation Apache Log4j.
Une vulnérabilité à grande échelle
La vulnérabilité d'Apache Log4j a été publiée sous le nom de CVE-2021-44228. Son exploitation permet aux attaquants d'exécuter du code à distance et peut être utilisé pour prendre le contrôle de la machine. A priori, la vulnérabilité est exploitée dans la nature, son exploitation étant très simple à exécuter. Une preuve de concept (Proof of Concept - POC) a, par ailleurs, également été publiée.
La criticité de la vulnérabilité Apache Log4j a été évaluée à l'aide du système CVSS (Common Vulnerability Scoring System) et a reçu un score de 10.0, sur 10. Tout le monde est affecté par cette vulnérabilité puisqu’elle touche un cadre de journalisation open-source couramment utilisé pour Java. Les fournisseurs touchés sont, entre autres : Apple, Steam, Twitter, Cloudflare, Amazon, Tesla, plusieurs cadres Apache, Kafka, Webex, VMware, Cisco.
Recommandations
Toutes les institutions de la communauté de la recherche et de l’éducation sont potentiellement impactées par cette vulnérabilité. Aussi, sont-elles invitées à enquêter sur cette menace de type ‘zero-day’ et à prendre les mesures appropriées en examinant les journaux des applications impactées sur les comportements suspects et en appliquant, si possible, un patch.
1. Vérifiez si vous êtes concernés !
Demandez à vos fournisseurs commerciaux s'ils utilisent log4j et s'ils peuvent fournir des correctifs ! Si l'application de correctifs n'est pas possible, nous proposons les mesures d'atténuation suivantes :
- Dans les versions >=2.10, ce comportement peut être atténué en définissant la propriété système log4j2.formatMsgNoLookups ou la variable d'environnement LOG4J_FORMAT_MSG_NO_LOOKUPS à true.
- Pour les versions >=2.7 et <=2.14.1, tous les modèles PatternLayout peuvent être modifiés pour spécifier le convertisseur de message sous la forme %m{nolookups} au lieu de %m.
- Pour les versions >=2.0-beta9 et <=2.10.0, l'atténuation consiste à supprimer la classe JndiLookup du classpath : zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class.
2. Passez au log4j-2.16.0.
3. Appliquez dès que possible les correctifs de sécurité à venir :
La bibliothèque concernée est utilisée par de nombreux serveurs et appareils et même par des logiciels de bureau.