Skip to main content

Analyse de CVE-2022-42889 : la vulnérabilité d’exécution de code arbitraire dans Apache Commons Text

Écrit par

18 octobre 2022

0 minutes de lecture

Commençons par clarifier une chose : il ne s’agit PAS d’une nouvelle vulnérabilité Log4Shell ou Spring4Shell. Bien qu’il s’agisse d’un problème d’exécution de code à distance, son impact n’est ni aussi grave ni aussi facile à exploiter que celui de la faille Log4j de décembre 2021.

Comme pour la faille Log4j, le problème tient au fait qu’une recherche peut être effectuée, puis détournée. Cependant, la vulnérabilité Log4Shell était très facile à exploiter — ce qui n’est pas forcément le cas ici. En réalité, ce problème ressemble beaucoup à CVE-2022-33980, dont nous avons parlé dans un article publié plus tôt cette année.

Explication des problèmes de sécurité d’Apache Commons Text

La bibliothèque Apache Commons Text permet d’effectuer l’interpolation de variables. Vous pouvez ainsi charger des propriétés qui seront évaluées dynamiquement.

Le problème se situe dans StringLookup, qui effectue les recherches. Ces recherches sont des expressions capables de résoudre des enregistrements DNS, de charger des valeurs depuis des URL et d’exécuter des scripts à l’aide d’un moteur d’exécution de scripts JVM. Ces URL et scripts peuvent provenir de sources distantes et déclencher l’exécution de code à distance si des valeurs non fiables sont utilisées. Cette faille, signalée comme étant de gravité élevée sous la référence CVE-2022-42889, affecte les versions 1.5.x à 1.9.x.

Exemples de CVE-2022-42889

Voici deux exemples de ce type de script utilisant le moteur Nashorn ou JavaScript. L’utilisation directe de interpolatorStringLookup ou de StringSubstitutor (sans doute plus courant) produira le même résultat.

Exemples de code Java utilisant StringSubstitutor et StringLookup pour exécuter des commandes par interpolation de script

Notez que le moteur de script Nashorn n’est plus disponible par défaut dans Java 15 et les versions ultérieures. Ces scripts ne seront donc exécutés que si vous fournissez vous-même un moteur de script. Cependant, de nombreuses entreprises utilisent encore d’anciennes versions telles que Java 8, ce qui peut poser un grave problème. Si vous utilisez la dernière version LTS, Java 17, ni le script JavaScript ni le script Nashorn ne s’exécuteront, car aucun moteur n’est disponible par défaut.

Comment corriger CVE-2022-42889

Rappelons-le : il ne s’agit pas d’un nouveau Log4Shell. Vous n’utilisez probablement pas vous-même StringLookup, mais vous ne savez pas si l’une de vos bibliothèques transitives y a recours. Le moyen le plus simple de corriger ce problème consiste à passer à la version 1.10 (ou ultérieure) de commons-text, qui désactive par défaut les préfixes URL, DNS et script — ce qui rend impossible l’exécution de code arbitraire par ce biais.

L’analyse de votre code avec Snyk peut vous aider à déterminer si cette vulnérabilité est présente dans votre environnement. Si elle est détectée, passez à la version 1.10 et exécutez snyk monitor dans l’interface de ligne de commande afin de continuer à surveiller votre environnement de production.

Lancez-vous dans les compétitions Capture The Flag

Apprenez à résoudre des défis Capture The Flag en regardant à la demande notre atelier virtuel d’initiation.

Lire la suite

illustration hero ai
Blog

PHP corrige deux vulnérabilités RCE critiques exploitables sans authentification (CVE-2026-109618, CVE-2026-109619) : mettez à jour dès maintenant

Deux vulnérabilités critiques dans le cycle de traitement des requêtes de PHP peuvent permettre l’exécution de code à distance sans authentification. Passez à une version corrigée ou installez un correctif rétroporté par votre fournisseur pour les versions antérieures.

blog feature ai lilac
Blog

Transformez votre backlog de vulnérabilités en pull requests grâce à la remédiation agentique

Evo Remediation Agent est désormais disponible en aperçu ouvert et apporte la résolution automatisée des dépendances à Evo Agentic AppSec. Les équipes AppSec peuvent désormais lancer des campagnes de remédiation continues

AI Background min crop
Blog

L’IA fait surgir tous les risques que vous avez acceptés : sept enseignements du panel de sécurité de l’IA sans filtre

L’IA rend les attaques moins coûteuses et plus rapides, exposant des risques déjà présents dans les organisations. Quatre responsables de la sécurité expliquent pourquoi une défense à la vitesse des machines et une remédiation accélérée sont désormais indispensables.