15 avril 2020

Retour sur la vulnérabilité Ghostcat (CVE-2020-1938) affectant Apache Tomcat

La vulnérabilité Ghostcat référencée CVE-2020-1938 est une faille qui vise les serveurs web Apache Tomcat qui a été publiée sur NVD (Nationnal Vulnerability Database) le 24/02/2020 et a été considérée comme une faille critique avec une gravité de 9,8 sur 10 pour la version 3.1 et de 7,5 sur 10 pour la version 2. Notre […]

CybersécuritéPentestR&DTests d'intrusionvulnérabilité
Logo

vulnérabilité Ghostcat

La vulnérabilité Ghostcat référencée CVE-2020-1938 est une faille qui vise les serveurs web Apache Tomcat qui a été publiée sur NVD (Nationnal Vulnerability Database) le 24/02/2020 et a été considérée comme une faille critique avec une gravité de 9,8 sur 10 pour la version 3.1 et de 7,5 sur 10 pour la version 2. Notre équipe Pentest s’est penchée sur le sujet.

Pourquoi, c’est intéressant ?

  • Environ 118 843 des sites web utilisent le serveur Apache Tomcat dans le monde.
  • Un attaquant peut lire des fichiers sur le serveur.
  • Un attaquant peut potentiellement exécuter des commandes sur le serveur à travers cette faille si et seulement si :
    • Le port AJP est ouvert.
    • Il peut envoyer des fichiers au serveur à travers une fonctionnalité de l’application.
    • Ces fichiers sont enregistrés dans la racine du serveur.

Par ailleurs, les serveurs applicatifs sont toujours des cibles intéressantes pour les attaquants, car elle permettent souvent de déposer des applications malveillantes. Lors de tests d’intrusion l’identification rapide des serveurs Apache Tomcat et des services AJP est souvent la première étape des scénarios d’intrusion identifiés.

Présentation de Apache Tomcat et le protocole AJP

Tomcat :

Tomcat est un serveur web open source, sous licence Apache, il permet d’exécuter des applications Web développées avec les technologies Java (Servlets, JSP…).

Protocole AJP :

AJP (Apache JServ Protocol) est un protocole qui garantit la communication entre un serveur web et un serveur d’applications, son utilisation est similaire à celle d’un proxy HTTP.

AJP utilise le port TCP/8009 par défaut.

vulnérabilité Ghostcat 1

La vulnérabilité Ghostcat et son code d’exploitation

Tomcat considère toutes les requêtes provenant de AJP comme requêtes légitimes.

En effet, AJP possède un champ nommé URI (Uniform Resource Identifier) qui représente une chaîne de caractères permettant de préciser l’extension du fichier entré par l’utilisateur.

Ce champ n’est pas contrôlé, un attaquant peut le modifier afin de lire ou d’exécuter des fichiers déjà présents sur le serveur.

vulnérabilité Ghostcat 2

Exploitation :

Pour exploiter cette vulnérabilité, le port 8009 d’AJP doit être ouvert.

vulnérabilité Ghostcat 3

Nous avons développé le script exploit.py permettant d’exploiter cette faille.

L’idée est de modifier le champ URI :

  • Si le champ URI contient “toto.jsp”, le serveur va considérer le fichier entré par l’utilisateur comme un fichier jsp donc il va l’exécuter, sinon il va le lire.

Pour faire le test, nous avons créé un fichier sur le serveur nommé “test.txt”.

vulnérabilité Ghostcat 4

Pour lire le fichier “test.txt”, nous avons mis le champ URI à “toto.toto”, le serveur va le considérer comme fichier d’extension différente de .jsp , dans ce cas, il sera lu.

Pour exécuter le même fichier, nous avons modifié le champ URI à “toto.jsp”, nous remarquons qu’il est cette fois interprété par le moteur JSP.

La liste des versions d’Apache Tomcat vulnérables :

  • Tomcat v9.0.x < 9.0.31
  • Tomcat v8.5.x < 8.5.51
  • Tomcat v7.x < 7.0.100

Protection

Pour se protéger :

  • Désactiver le port de protocole AJP.
  • Mettre à jour les serveurs Apache Tomcat vers les versions suivantes :
    • V7.0.100
    • V8.5.51
    • V9.0.31

Conclusion

La sécurité informatique se focalise souvent sur les failles d’applications. Toutefois les failles systèmes, de fréquence assez rare, ne peuvent être négligées compte tenu des impacts qui en induisent. Elles peuvent constituer un point d’entrée pour un attaquant. Or, de nombreux serveurs accessibles sur Internet sont rarement mis à jour, rendant ces attaques possibles.

Dans ce contexte, la vulnérabilité Ghostcat soit CVE-2020-1938 est une faille système critique, qui ne demande pas beaucoup de compétences techniques pour être exploitée. En effet, des connaissances sur le fonctionnement du protocole AJP suffisent.

Le serveur Apache Tomcat, quant à lui, est devenu de plus en plus vulnérable. Entre 5 et 25 vulnérabilités sont trouvées chaque année. Pour cette raison, l’utilisation de pares-feux est fortement recommandée afin de protéger les serveurs applicatifs de l’extérieur et ainsi, éviter ces problèmes.

Il ne faut, toutefois, pas oublier de faire ses mises à jour régulièrement.

Références :
https://www.similartech.com/technologies/apache-tomcat
https://github.com/hypn0s/AJPy

Blog

Nos actualités cybersécurité

Cybersécurité

Cybersécurité du mainframe : pourquoi et comment sécuriser le cœur de vos systèmes d’information

Souvent perçu comme une relique technologique, le mainframe reste pourtant l’épine dorsale des organisations les plus critiques au monde. Banques, assurances, industries, administrations : ces systèmes traitent chaque jour des milliards de transactions et concentrent les données les plus sensibles. Pourtant, leur sécurité est rarement auditée avec la rigueur qu’ils méritent. Décryptage d’un angle mort majeur de la cybersécurité.

20 mars 2026

Cybersécurité

Cybersécurité des ETI : comment passer du réflexe défensif à une stratégie structurée

En 2025, 34 % des ETI ont subi au moins une cyberattaque significative. Le chiffre peut sembler modéré en comparaison des grandes entreprises (50 %), mais il masque une réalité plus brutale : parmi les organisations touchées, 81 % ont constaté un impact direct sur leur activité – perturbation de la production, perte d’image, compromission de données stratégiques ou perte de chiffre d’affaires (sondage OpinionWay pour CESIN, janvier 2026).

10 mars 2026

Cybersécurité

Sécuriser chaque agent IA : le défi cybersécurité de 2026

L’IA générative s’impose désormais dans les usages professionnels les plus courants. Entre les résumés d’e-mails, l’automatisation de tâches complexes et l’assistance à la décision stratégique, chaque agent IA cybersécurité devient un collaborateur numérique à part entière. Cependant, à mesure que ces outils se diffusent à une vitesse inédite dans nos infrastructures, nous constatons que les entreprises peinent à garder une vision claire de ce qui est réellement déployé dans leurs systèmes. Le risque n’est plus seulement théorique : il est actif, souvent invisible, et logé au cœur même de nos processus métier automatisés.

13 février 2026

informations

Contactez-nous

Une question ou un projet en tête ? Remplissez le formulaire, nous reviendrons vers vous rapidement pour un premier échange.

    *Informations obligatoires

    Les informations recueillies à partir de ce formulaire sont traitées par Digitemis pour donner suite à votre demande de contact. Pour connaître et/ou exercer vos droits, référez-vous à la politique de Digitemis sur la protection des données, cliquez ici.

    Ce site est protégé par reCAPTCHA. La politique de confidentialité et les conditions d'utilisation de Google s'appliquent.

    Index