Numéro : AL21-019 – Mise à jour 7
Date : 10 décembre 2021
Mise à jour : 29 décembre 2021
Auditoire
La présente alerte s’adresse aux professionnels et aux gestionnaires des TI œuvrant au sein des organismes avisés. Les destinataires de la présente information peuvent redistribuer celle-ci au sein de leurs organismes respectifs.
Objet
Une alerte a pour objet de prévenir les destinataires que des cybermenaces ont été relevées récemment et que celles-ci pourraient toucher les biens d’information électronique. Elle vise également à leur fournir des conseils supplémentaires en matière de détection et d’atténuation. Au reste, le Centre canadien pour la cybersécurité (ou Centre pour la cybersécurité) est en mesure d’offrir, aux destinataires qui en font la demande, une assistance complémentaire concernant la teneur de la présente alerte.
Vue d’ensemble
Le 10 décembre 2021, Apache a publié un bulletin de sécurité Note de bas de page 1Note de bas de page 2 soulignant une vulnérabilité critique menant à l’exécution de code à distance liée au produit Log4j, un outil de journalisation JAVA largement déployé. Selon des rapports de sources ouvertes, des cas d’exploitation et de balayage actifs ont été observés.
Détails
Le 10 décembre 2021, Apache a publié un bulletin de sécurité Note de bas de page 1Note de bas de page 2 soulignant une vulnérabilité critique menant à l’exécution de code à distance liée au produit Log4j, et touchant les versions 2.0-beta9 à 2.14.1.
Un auteur de menace non authentifié distant pourrait exploiter cette vulnérabilité pour exécuter du code arbitraire sur l’appareil touché.
Selon des rapports de sources ouvertes, des cas d’exploitation et de balayage actifs de la vulnérabilité (désignée CVE-2021-44228 Note de bas de page 3), ont été observés. En raison de l’utilisation répandue de la bibliothèque Log4j dans des infrastructures populaires, de nombreuses applications de tierces parties pourraient être vulnérables à une tentative d’exploitation. Log4j est aussi souvent utilisé dans les logiciels Java d’entreprise, et est intégré dans plusieurs infrastructures Apache, y compris les suivantes (sans s’y limiter) : Apache Struts2, Apache Solr, Apache Druid, Apache Flink et Apache Swift. Log4j est aussi intégré dans la bibliothèque d’autres infrastructures Java, y compris (sans s’y limiter : Netty, MyBatis et Spring. Note de bas de page 4
Mise à jour 1
La bibliothèque Apache Log4j permet aux développeurs de consigner les résultats tirés des différentes sources de données dans leurs applications. Dans certains cas, les données consignées proviennent d’entrées utilisateur. Elles prennent notamment en charge les fonctions de Java Naming and Directory Interface (JNDI), qui sont utilisées dans la configuration, les messages de journalisation et les paramètres. Dans le cas des versions vulnérables de Log4j, les données d’utilisateurs consignées qui contiennent des recherches JNDI vers des points d’extrémité contrôlés par un auteur de menace pourraient permettre à ce dernier de charger du code arbitraire sur le serveur afin de l’exécuter depuis le point d’extrémité.
Le Centre pour la cybersécurité recommande fortement aux organisations de passer en revue en interne les applications potentiellement touchées. Bien qu’elles ne soient pas exhaustives, les sources communautaires facilitent les efforts déployés pour identifier les produits touchés. Footnote 8
Apache a publié la version 2.15 du produit Log4j, qui corrige cette vulnérabilité. De plus, Apache a fourni pour les versions précédentes des solutions de contournement à appliquer si une mise à niveau n’est pas possible.
Mise à jour 2
Il a été déterminé que Log4j 2.15.0 peut toujours être vulnérable dans certaines configurations autres que celles par défaut. Apache a publié Log4j version 2.16.0 pour corriger cette dernière vulnérabilité, identifiée comme CVE-2021-45046. Note de bas de page 1
Mise à jour 3
Le Centre pour la cybersécurité estime que les organisations qui ont déjà appliqué la version 2.15.0 du correctif et utilisent la configuration standard peuvent suivre le processus standard pour installer la version 2.16.0. Les organisations qui n’ont pas encore procédé à une mise à niveau devraient installer la version 2.16.0 ou appliquer les mesures d’atténuation proposées, si la mise à niveau ne peut être effectuée immédiatement.
NCSC-NL, avec l’aide de représentants de la collectivité de la sécurité, a compilé des informations solides sur la vulnérabilité Log4j, y compris (sans s’y limiter) des indicateurs de compromission, des conseils en matière d’atténuation et une liste de logiciels touchés. Note de bas de page 9 Les conseils fournis par la CISA constituent également une source d’information précieuse. Note de bas de page 10
Mise à jour 4
Le 17 décembre 2021, Apache a mis à jour son évaluation de la sévérité et des répercussions de la vulnérabilité CVE-2021-45046 à Critique, exécution de code à distance. Note de bas de page 1
Mise à jour 5
Le 17 décembre 2021, Apache a publié la version 2.17 de Log4j pour corriger une vulnérabilité de déni de service (DoS pour Denial of Service) touchant les versions 2.0-alpha1 à 2.16.0 (Java 8). Cette vulnérabilité porte le numéro CVE-2021-45105 et a reçu une cote CVSS de 7,5. Note de bas de page 1
Mise à jour 6
Le 22 décembre 2021, Apache a publié la version 2.12.3 du produit Log4j pour les utilisateurs de Java 7 et la version 2.3.1 pour les utilisateurs de Java 6, afin de corriger les vulnérabilités connues et renforcer la fonctionnalité JNDI. Note de bas de page 1 Le Centre pour la cybersécurité recommande aux utilisateurs de Java 6 et 7 d’installer une version plus récente de Java, puisque le soutien n’est plus offert pour ces deux anciennes versions.
Le Centre pour la cybersécurité a aussi travaillé en collaboration avec ses homologues internationaux pour publier le Bulletin de cybersécurité conjoint sur l’atténuation des vulnérabilités liées à Log4Shell et à Log4j. Note de bas de page 12
Mise à jour 7
Le 28 décembre 2021, Apache a publié les versions 2.17.1 (Java 8), 2.12.4 (Java 7) et 2.3.2 (Java 6) de Log4j pour corriger une vulnérabilité touchant les versions antérieures aux versions 2.17.1 (Java 8), 2.1.4 (Java 7) et 2.1.3 (Java 6). Cette vulnérabilité porte le numéro CVE-2021-44832 et a reçu une cote CVSS de 6,6. Un auteur de menace ayant les autorisations nécessaires pour modifier un fichier de configuration particulier sur un système touché pourrait exploiter cette vulnérabilité pour exécuter du code à distance. Note de bas de page 1
Mesures recommandées
Le Centre pour la cybersécurité recommande aux organisations qui utilisent des applications avec Apache Log4j de faire ce qui suit :
- Mise à jour 7 (Java 8) : Le Centre pour la cybersécurité recommande d’effectuer dès que possible la mise à niveau à la version 2.16 de Log4j ou à une version plus récente.
- Mise à jour 7 (Java 7) : Le Centre pour la cybersécurité recommande aux utilisateurs de Java 7 de consulter le site d’Apache pour savoir quelles mesures précises ils doivent appliquer. Il recommande également d’installer une version plus récente de Java. Note de bas de page 1 La version 2.1.4 de Log4j a été publiée.
- Mise à jour 7 (Java 6) : Le Centre pour la cybersécurité recommande aux utilisateurs de Java 6 de consulter le site d’Apache pour savoir quelles mesures précises ils doivent appliquer. Il recommande également d’installer une version plus récente de Java. Note de bas de page 1 La version 2.3.2 de Log4j a été publiée.
- Mise à jour 6 : S’il est impossible d’installer une mise à niveau immédiatement, envisager d’appliquer les mesures d’atténuation suggérées par Apache. Note de bas de page 1
- Vérifier les journaux afin de détecter tout indice de compromission.
Les autres fournisseurs touchés par les vulnérabilités signalées pourraient aussi publier des bulletins de sécurité liés à leurs produits.
Détection
Identifer les recherches Java Naming and Directory Interface (JNDI) dans les journaux en amont afin de détecter toute tentative d’exploitation ou d’évaluer toute incidence éventuelle. Note de bas de page 5Note de bas de page 6
Vérifier le trafic provenant d’adresses IP connues Note de bas de page 7 en consultant les journaux du pare-feu.
Atténuation
Apache recommande de prendre les mesures d’atténuation suivantes s’il est impossible d’appliquer les correctifs immédiatement : Footnote 1
Dans les versions 2.10 et ultérieures de Log4j, on peut atténuer le comportement vulnérable en réglant la propriété “log4j2.formatMsgNoLookups” à “true”. La variable d’environnement “LOG4J_FORMAT_MSG_NO_LOOKUPS” peut également être définie à “true” afin de minimiser ce comportement.- Mise à jour 2 : Cette mesure d'atténuation a été discréditée selon Apache. Footnote 1
- Dans les versions précédant 2.16.0 de Log4j, la mesure d’atténuation consiste à supprimer la classe JndiLookup dans l’élément Classpath en exécutant la commande suivante :
- “zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class”
- Mise à jour 2 : Cette mesure d'atténuation a été étendue pour inclure toutes les versions de Log4j précédent 2.16.0. Footnote 1
- Mise à jour 5 : Dans les versions précédant 2.17.0 de Log4j, la mesure d’atténuation pour la vulnérabilité CVE-2021-45105 consiste à retirer ou à remplacer les références aux recherches de contexte dans la configuration.
- Dans la classe PatternLayout de la configuration de journalisation, remplacer les recherches de contexte telles que ${ctx:loginId} ou $${ctx:loginId} par des modèles de carte du contexte de fil (Thread Context Map) (%X, %mdc ou %MDC). Footnote 1
- Autrement, dans la configuration, retirer les références aux recherches de contexte telles que ${ctx:loginId} ou $${ctx:loginId} lorsqu’elles proviennent de sources à l’extérieur de l’application comme les en-têtes HTTP ou les entrées utilisateur. Footnote 1
On invite les destinataires à communiquer avec le Centre pour la cybersécurité par l’entremise de Mon cyberportail, par courriel (contact@cyber.gc.ca) ou par téléphone (1-833-CYBER-88 ou 1-833-292-3788), s’ils relèvent des activités similaires à ce qui est présenté dans la présente alerte.