Ghostcat, la vulnérabilité de Tomcat qui peut remplacer le code

chat fantôme

Des chercheurs de Chaitin Tech, Chine ont publié informations sur une nouvelle découverte, comme ils l'ont identifié une vulnérabilité dans le conteneur de servlet populaire (Java Servlet, JavaServer Pages, Java Expression Language et Java WebSocket) Apache tomcat (déjà répertorié comme CVE-2020-1938).

Cette vulnérabilité ils ont reçu le nom de code "Ghostcat" et un niveau de gravité critique (9.8 CVSS). Le problème permet dans la configuration par défaut d'envoyer une requête via le port réseau 8009 pour lire le contenu de n'importe quel fichier dans le répertoire de l'application Web, y compris les codes source des applications et les fichiers de configuration.

La vulnérabilité permet également d'importer d'autres fichiers dans le code de l'applicationPermettre organiser l'exécution du code sur le serveur si l'application autorise le téléchargement des fichiers sur le serveur.

Par exemple, si l'application du site Web permet aux utilisateurs de télécharger des fichiers, un attaquant peut charger premier un fichier contenant le code de script JSP malveillant sur le serveur (le fichier téléchargé lui-même peut être n'importe quel type de fichier tel que des images, des fichiers en texte brut, etc.) puis incluez le fichier téléchargé en exploitant la vulnérabilité de Ghostcat, ce qui peut finalement entraîner l'exécution de code à distance.

Il est également mentionné qu'une attaque peut être effectuée s'il est possible d'envoyer une requête à un port réseau avec un pilote AJP. Selon les données préliminaires, le réseau a trouvé plus de 1.2 million d'hôtes acceptant des requêtes utilisant le protocole AJP.

La vulnérabilité est présente dans le protocole AJP et il n'est pas causé par une erreur d'implémentation.

En plus d'accepter les connexions HTTP (port 8080) dans Apache Tomcat, par défaut il est possible d'accéder à l'application web en utilisant le protocole AJP (Apache Jserv Protocol, port 8009), qui est un analogue binaire de HTTP optimisé pour des performances plus élevées, généralement utilisé lors de la création d'un cluster à partir de serveurs Tomcat ou pour accélérer l'interaction avec Tomcat sur un proxy inverse ou un équilibreur de charge.

AJP fournit une fonction standard pour accéder aux fichiers sur le serveur, qui peuvent être utilisées, y compris la réception de fichiers qui ne sont pas soumis à divulgation.

Il est entendu que l'accès à AJP est ouvert uniquement aux serviteurs de confiancemais en fait, dans la configuration Tomcat par défaut, le pilote était lancé sur toutes les interfaces réseau et les demandes étaient acceptées sans authentification.

L'accès est possible à n'importe quel fichier de l'application Web, y compris le contenu de WEB-INF, META-INF et tout autre répertoire renvoyé via l'appel ServletContext.getResourceAsStream (). AJP vous permet également d'utiliser n'importe quel fichier dans les répertoires disponibles pour une application Web en tant que script JSP.

Le problème est apparu depuis la sortie de la branche Tomcat 6.x il y a 13 ans. En plus de Tomcat lui-même, le problème affecte également les produits qui l'utilisent, comme Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), ainsi que les applications Web autonomes qui utilisent Spring Boot.

Aussi une vulnérabilité similaire a été trouvée (CVE-2020-1745) sur le serveur Web Undertow utilisé dans le serveur d'applications Wildfly. Actuellement, divers groupes ont préparé plus d'une douzaine d'exemples concrets d'exploits.

Apache Tomcat a officiellement publié les versions 9.0.31, 8.5.51 et 7.0.100 pour corriger cette vulnérabilité. Pour corriger correctement cette vulnérabilité, vous devez d'abord déterminer si le service Tomcat AJP Connector est utilisé dans votre environnement serveur:

  • Si le cluster ou le proxy inverse n'est pas utilisé, vous pouvez essentiellement déterminer que AJP n'est pas utilisé.
  •  Sinon, vous devez savoir si le cluster ou le serveur inversé communique avec le service Tomcat AJP Connect

Il est également mentionné que Les mises à jour sont désormais disponibles dans les différentes distributions Linux comme: Debian, Ubuntu, RHEL, Fedora, SUSE.

Pour contourner le problème, vous pouvez désactiver le service Tomcat AJP Connector (lier le socket d'écoute à localhost ou commenter la ligne avec Connector port = »8009 ″), si cela n'est pas nécessaire, ou configurer l'accès authentifié.

Si vous voulez en savoir plus, vous pouvez consulter le lien suivant. 


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.