Vulnérabilité critique dans Apache Log4j (mise à jour )

Une vulnérabilité a été découverte dans la bibliothèque de journalisation Apache log4j. Cette bibliothèque est très souvent utilisée dans les projets de développement d'application Java/J2EE ainsi que par les éditeurs de solutions logicielles sur étagère basées sur Java/J2EE.

Cette vulnérabilité permet à un attaquant de provoquer une exécution de code arbitraire à distance s'il a la capacité de soumettre une donnée à une application qui utilise la bibliothèque log4j pour journaliser l'évènement. Cette attaque peut être réalisée sans être authentifié, par exemple en tirant parti d'une page d'authentification qui journalise les erreurs d'authentification.

Recommandations

  • Effectuer une mise à niveau vers Log4j 2.17.0 ou à appliquer immédiatement les mesures d’atténuation recommandées.
  • Il est fortement recommandé aux utilisateurs d'applications ou de logiciels sur étagère basés sur la technologie Java/J2EE :
    • de filtrer les flux sortants des serveurs pour les limiter aux seuls flux autorisés vers des services de confiance
    • de prendre contact avec le développeur ou l'éditeur pour vérifier s'ils sont exposés à cette vulnérabilité et si un correctif est disponible.

Mesures d’atténuation

La mise en place de filtres au niveau de vos pare-feux applicatifs pour bloquer les tentatives d'exploitation de cette vulnérabilité peut constituer une première mesure d'urgence mais elle reste insuffisante : les attaquants utilisent différentes techniques d'obscurcissement des données injectées pour contourner ces filtres.

Les contournements proposés initialement ne permettent plus de se prémunir contre certaines formes d'exploitation. Face à la possibilité que d'autres exploitations soient encore découvertes y compris pour la version 2.15.0, il est recommandé d'utiliser les versions les plus à jour de la bibliothèque.

En cas d'impossibilité de migration, il reste possible de supprimer la classe Java vulnérable. Cette opération impose de tester le fonctionnement de l'application afin d'identifier les impacts de la modification sur son fonctionnement.

Cette suppression peut par exemple être effectuée avec la commande suivante : zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

Il est fortement recommandé aux utilisateurs d'applications ou de logiciels sur étagère basés sur la technologie Java/J2EE :

  • De conserver les journaux a minima depuis le 1er décembre 2021 à des fins d'analyse ultérieure ;
  • De préparer sans délai des mesures de préservation en cas d'incident majeur, notamment par la mise hors ligne de sauvegardes à jour ;
  • De filtrer et de journaliser les flux sortants des serveurs pour les limiter aux seuls flux autorisés vers des services de confiance ;
  • De prendre contact avec le développeur ou l'éditeur pour vérifier s'ils sont exposés à cette vulnérabilité et si un correctif est disponible.

Il est fortement recommandé aux développeurs/éditeurs :

  • D’inventorier les solutions affectées par les vulnérabilités ;
  • D’informer les utilisateurs et clients de leurs statuts et des actions en cours ;
  • De corriger les solutions en utilisant a minima la version 2.16.0 pour java 8 ou la version 2.12.2 pour java 7 et idéalement la version 2.17.0 pour java 8 ou la version 2.12.3 (à venir) pour java 7 ;
  • De fournir une nouvelle version de leurs solutions dans les plus brefs délais.

Comment détecter la vulnérabilité ?

Voici une liste non exhaustive d’outils permettant de détecter ladite vulnérabilité :

  • Recherche à l’aide d’outils Open Source ( Syft, Grype ). Le premier génère une nomenclature logicielle (SBOM) tandis que le second est un scanner de vulnérabilité. Ces deux outils sont capables d’inspecter plusieurs couches imbriquées d’archives JAR pour découvrir et identifier les versions de Log4j
  •  Vous pouvez utiliser Google Cloud IDS pour surveiller et détecter les tentatives d’exploitation dans votre environnement Google Cloud :

Après avoir configuré Cloud IDS pour surveiller le trafic vers/depuis les charges de travail d’application susceptibles d’être exploitées en raison de cette vulnérabilité, vous pouvez rapidement rechercher des alertes relatives à CVE-2021-44228 dans la console Cloud IDS à l’aide d’un filtre sur « Nom de la menace : Vulnérabilité d’exécution de code à distance Apache Log4j »

Références

Télécharger en pdf

18 BP 2203 Abidjan 18 – Côte d’Ivoire
Téléphone : +225 27 20 34 42 63 / 27 20 34 43 74
Fax : +225 27 20 34 43 75
Email: infos@cicert.ci
Marcory Anoumanbo, Abidjan – Côte d’Ivoire

 

NOUS SOMMES MEMBRES DE

partenaires 1 2