
Configuration et recréation de l'exploit pour CVE-2022-42889 Text4Shell.
Pour trouver le rapport complet de configuration et de reproduction de l'exploit, veuillez consulter le fichier CVE-2022-42889-Project Vulnerability Exploitation Report. La machine virtuelle utilisée pour construire et exécuter l'exploit n'est pas incluse dans ce dépôt.
Configuration et reproduction de l'exploit pour CVE-2022-42889 Text4Shell.
CVE-2022-42889, également connue sous le nom de « Text4Shell », était une vulnérabilité critique dans la bibliothèque Apache Commons Text, une bibliothèque fréquemment utilisée dans les applications Java pour le traitement de texte et l'ajout de fonctionnalités au traitement de texte standard du Java Development Kit (JDK). Les versions de la bibliothèque Apache Common Text, datant de 2018, de 1.5 à 1.9, ont été signalées comme affectées. La vulnérabilité provient d'une gestion non sécurisée des entrées dans la classe StringSubstitutor, permettant aux attaquants d'exploiter les fonctionnalités d'interpolation de chaînes de la bibliothèque. Cela peut entraîner l'exécution de code à distance (RCE) lors du traitement d'entrées malveillantes, posant des risques importants pour les applications reposant sur cette bibliothèque. Par conséquent, CVE-2022-42889 a été considérée comme une vulnérabilité critique et a reçu un score de base CVSS 3.x de 9,8, en raison de l'impact sévère qu'elle pourrait avoir sur les systèmes affectés, y compris la compromission totale du système.
Cette vulnérabilité a été comparée aux fameuses vulnérabilités Log4Shell (CVE-2021-44228) et Spring4Shell (CVE-2022-22965) en raison de son potentiel d'exploitation dans les applications Java. Contrairement à Log4Shell et Spring4Shell, qui étaient vulnérables même dans les cas d'utilisation les plus basiques, tous les utilisateurs de la bibliothèque Apache Common Text ne seraient pas affectés, car la bibliothèque doit être utilisée d'une certaine manière pour exposer la surface d'attaque et rendre la vulnérabilité exploitable.
La démonstration de l'exploit utilise la preuve de concept Github de cyberhack255 qui fournit tous les scripts et outils nécessaires pour exécuter l'exploit. Voici une brève description du déroulement de l'exploitation :
text4shell-poc.jar). Il utilise l'image officielle OpenJDK 8 basée sur Alpine Linux, qui fournit un environnement minimal et léger. Le fichier installe bash pour permettre l'utilisation de scripts bash pendant la démonstration. Le port 8080 est exposé pour permettre un accès externe au conteneur pendant l'exécution de l'exploit.
Cette preuve de concept (PoC) consiste à créer une charge utile malveillante qui exploite le mécanisme de substitution de chaînes dans la bibliothèque Apache Commons Text. La charge utile ciblera le script de clé de recherche en invoquant la méthode StringSubstitutor.createInterpolator(). Pour cette démonstration, la charge utile créera à distance un nouveau fichier à l'intérieur du conteneur Docker.