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é

Certification ISO 27001 : Guide complet pour sécuriser votre système d’information

Les cyberattaques coûtent de plus en plus cher aux entreprises. Les réglementations se durcissent. Les clients exigent des garanties sur la protection de leurs données. La certification ISO 27001 répond à ces trois enjeux en structurant votre sécurité informationnelle de manière rigoureuse et auditable.

19 novembre 2025

Cybersécurité

Guide complet pour l’analyse de risque cybersécurité

La cybersécurité est une priorité essentielle pour toute entreprise souhaitant protéger ses systèmes d’information et ses données sensibles. L’analyse de risque cyber est une démarche clé qui permet d’identifier, évaluer et hiérarchiser les risques liés aux actifs informationnels, tels que les données personnelles, les infrastructures critiques ou les applications métiers. Elle aide à réduire la vulnérabilité face à des menaces comme les attaques par déni de service, les tentatives d’ingénierie sociale ou les intrusions non autorisées.

6 novembre 2025

Cybersécurité

RSSI externalisé : expert cybersécurité sur demande

Le RSSI externalisé offre une solution flexible et innovante pour les entreprises qui souhaitent améliorer leur cybersécurité sans mobiliser de ressources internes permanentes. Ce expert en sécurité intervient pour piloter la mise en place de mesures de sécurité informatique, réaliser des audits, analyser les risques et garantir la conformité réglementaire tout en gérant les incidents.

6 novembre 2025

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.

Index