Quatre vulnérabilités impactent l’outil de CI/CD TeamCity de JetBrains, permettant de réaliser un bypass d’authentification. Parmi elles, deux vulnérabilités critiques, aux côtés d'une haute et d'une moyenne. Identifiées par les références CVE-2024-23917, CVE-2024-27198, CVE-2024-27199 et CVE-2024-24942, elles obtiennent respectivement un score CVSS v3.1 de 9,8, 9,8, 7,3 et 5,3. L’équipe Stormshield Customer Security Lab détaille les protections fournies par Stormshield.

Tous les serveurs JetBrains TeamCity en versions inférieures à 2023.11.4 sont vulnérables aux CVE-2024-27198 et CVE-2024-27199. Tous les serveurs en versions inférieures à 2023.11.3 sont vulnérables aux CVE-2024-23917 et CVE-2024-24942. L’exploitation s’effectue via l’interface web de l’applicatif.

 

Les détails techniques des vulnérabilités JetBrains

CVE-2024-23917

Cette première vulnérabilité CVE-2024-23917 permet de contourner l’authentification du serveur, sans limitation. Elle réside dans une erreur de conception de la fonction déterminant si la requête doit être traitée par le système d’authentification. Si la requête finit par « .jsp » ou « .jspf » et contient le paramètre GET « jsp_precompile » non nul, l’authentification ne sera pas vérifiée. Il est possible d’abuser de ce comportement, en injectant après n’importe quel chemin « ;nomdefichierbidon.jsp?jsp_precompile=1 ». Par exemple : « /app/rest/users/id:1/tokens/name;randomname.jsp?jsp_precompile=1 »

CVE-2024-27198

Cette deuxième vulnérabilité CVE-2024-27198 permet également de contourner l’authentification du serveur. Elle réside également dans l’usage d’un « ; » pour abuser un filtre, qui teste si le contenu du paramètre GET « jsp » finit bien par « .jsp ». En utilisant un chemin qui retourne une erreur 404 (par exemple « /abc ») et en y ajoutant le paramètre GET « jsp » contenant le chemin que l’on souhaite obtenir, suivi de « ;.jsp », on peut alors accéder à tout chemin ne contenant pas « admin/ » sans authentification. Par exemple : « /abc?jsp=/app/rest/users/id:1/tokens/nameToken;.jsp »

CVE-2024-27199

Cette troisième vulnérabilité CVE-2024-27199 permet de contourner l’authentification du serveur via une traversée de chemin. Dans certains chemins non authentifiés, il est possible d’injecter un « ../ » et certains chemins accédés seront alors sans authentification. Par exemple : « /res/../admin/diagnostic.jsp »

CVE-2024-24942

Cette quatrième vulnérabilité CVE-2024-24942 est également une traversée de chemin résidant dans « /app/rest/swagger* ». Le chemin suivant ce « swagger* » est passé tel quel à une fonction lisant le contenu du fichier indiqué. Il est ainsi possible d’effectuer une traversée de dossier via « ../ » et donc de lire certains fichiers. Cette vulnérabilité est limitée à certains types de fichiers, ce qui explique son faible score CVSS. Par exemple : « /app/rest/swaggerui;/../../web.xml »

 

La modélisation de l'attaque avec MITRE ATT&CK

MITRE ATT&CK

  • T1210 (Exploitation of Remote Services)

CWE

  • CVE-2024-23917 : CWE-288 – Authentication Bypass Using an Alternate Path or Channel
  • CVE-2024-27198 : CWE-288 – Authentication Bypass Using an Alternate Path or Channel
  • CVE-2024-27199 : CWE-22 – Improper Limitation of a Pathname to a Restricted Directory
  • CVE-2024-24943 : CWE-23 – Relative Path Traversal

 

Les moyens de protections avec Stormshield Network Security face aux vulnérabilités JetBrains

Protection face à la CVE-2024-23917

  • Signature http:url:decoded.427 - Exploitation d'un contournement de l'authentification dans JetBrains TeamCity (CVE-2024-23917)

Indice de confiance de la protection proposée par Stormshield

Indice de confiance de l’absence de faux positif

Protection face à la CVE-2024-27198

  • Signature http:url:decoded.425 - Exploitation d'un contournement de l'authentification dans JetBrains TeamCity (CVE-2024-27198)

Indice de confiance de la protection proposée par Stormshield

Indice de confiance de l’absence de faux positif

Protection face aux CVE-2024-27199 & CVE-2024-24942

  • Signature http:80 – Chemin avec référence supérieure

Indice de confiance de la protection proposée par Stormshield

Indice de confiance de l’absence de faux positif

Recommandations face aux vulnérabilités JetBrains

Il est recommandé de mettre à jour les serveurs JetBrains TeamCity vers la dernière version en date. JetBrains fournit la liste des vulnérabilités corrigées dans ses versions ici : jetbrains.com/privacy-security/issues-fixed/?product=TeamCity

Partager sur

[juiz_sps buttons="facebook, twitter, linkedin, mail"]
Un besoin de précision sur les protections Stormshield ? Les équipes du Support Technique sont à votre disposition pour vous accompagner au mieux. Contactez-les par le biais du gestionnaire d’incidents situé dans l’espace privé MyStormshield. Pour y accéder, sélectionnez le menu « Support technique / Rapporter un incident / Suivre un incident ».
L’équipe de Cyber Threat Intelligence de Stormshield remplit deux missions principales : étudier les menaces cyber pour les comprendre et améliorer en continu les protections des produits de Stormshield. Le tout, dans l’optique de contribuer à l’effort de la communauté de la cybersécurité pour faire face aux menaces cyber.