CVE-2024-27198 / CVE-2024-27199
Outrepassement d’authentification dans JetBrains TeamCity

TL ; DR
Remote
|
✅
|
Authenticated
|
❌
|
Default config
|
✅
|
Source
|
🌍/ 🔬
|
Versions concernées
TeamCity On-Premises jusqu’à 2023.11.3 inclus
Détails
En date du 04 Mars 2024, la société JetBrains a publié une nouvelle version de son outil TeamCity, une plateforme de déploiement et d’intégration continue. Bien que la publication sur le blog de la compagnie ne communique pas sur ce sujet, deux autres publications liées à cette sortie ont également été faites le même jour : l’une par le fournisseur également, l’autre par les équipes de chercheurs de la société Rapid7 détaillant les vulnérabilités.
Ainsi ces articles détaillent les deux vulnérabilités identifiées :
- CVE-2024-27198 : Contournement de l’authentificationpermettant des actions avec un niveau administrateurs (CVSSv3.1 : 9.8 [Critical])
- CVE-2024-27199 : Contournement de l’authentificationpermettant des actions limitées en tant qu’administrateur (CVSSv3.1 : 7.3 [High])
La seconde vulnérabilité à la criticité moins élevée, est due à une faiblesse dans la vérification de l’authentification, permettant une attaque de type path traversal. Cette attaque consiste à contourner une restriction en utilisant des chemins relatifs au lieu de chemins absolus pour accéder à une ressource. Bien que potentiellement non-exhaustive, la liste des chemins accessibles limite les actions possibles d’un attaquant à de la récupération d’information, un déni de service ou, dans des conditions spécifiques, à une écoute des communications.
La première vulnérabilité quant à elle est beaucoup plus impactante. Elle permet à un attaquant d’effectuer des actions arbitraires, ce qui pourrait mener à l’exécution de code à distance (RCE), dûe à une faiblesse dans le mécanisme de contrôle d’accès.
Détection
A ce jour du 11 mars, des règles de détection sont disponibles afin de détecter les tentatives d’exploitation de ces vulnérabilités.
Les règles disponibles étant les suivantes :
2051505
|
ET WEB_SPECIFIC_APPS JetBrains TeamCity Authentication Bypass Attempt (CVE- 2024-27198) – Vulnerability Check
|
2051506
|
ET WEB_SPECIFIC_APPS JetBrains TeamCity Authentication Bypass Attempt (CVE-2024-27198) – Admin User Creation Attempt
|
2051507
|
ET WEB_SPECIFIC_APPS JetBrains TeamCity Authentication Bypass Attempt (CVE-2024-27198) – Auth Token Creation Attempt
|
2051508
|
ET WEB_SPECIFIC_APPS JetBrains TeamCity Authentication Bypass Attempt (CVE-2024-27199) – Vulnerability Check
|
2051509
|
ET WEB_SPECIFIC_APPS JetBrains TeamCity Authentication Bypass Attempt (CVE-2024-27199) M1
|
2051510
|
ET WEB_SPECIFIC_APPS JetBrains TeamCity Authentication Bypass Attempt (CVE-2024-27199) M2
|
2051511 |
ET WEB_SPECIFIC_APPS JetBrains TeamCity Authentication Bypass Attempt (CVE-2024-27199) M3
|
2051512
|
ET WEB_SPECIFIC_APPS JetBrains TeamCity Authentication Bypass Attempt (CVE-2024-27199) M4
|
La purple team de Gatewatcher propose également les règles suivantes, plus générales, afin de pouvoir détecter une tentative d’exploitation de ces vulnérabilités.
# CVE-2024-27198
alert http $EXTERNAL_NET any -> $HOME_NET any (msg: « GW LAB Possible CVE-2024-27198 exploitation attempt »; flow: to_server,established; http.method; content: « POST »; http.uri; content: »? »; content: « jsp=/ »; distance:0; content: « |3B| »; distance: 0; content: ».jsp »; distance: 0; isdataat:!1,relative; flowbits:set,TeamCity.CVE-2024-27198; classtype:web-application-attack; metadata: provider Gatewatcher, performance_impact Medium, signature_severity Major, risk 80, mitre_tactic_id T0001, mitre_tactic_name Initial_Access, mitre_technique_id T1190, mitre_technique_name Exploit_Public-Facing_Application; sid:100001; )
alert http $EXTERNAL_NET any -> $HOME_NET any (msg: « GW LAB Possible CVE-2024-27198 successful exploitation (adduser) »; flow: to_client,established; flowbits:isset,TeamCity.CVE-2024-27198; http.stat_code; content: »200″;http.response_body; content: « |3C|user username=|22| »; content: »SYSTEM_ADMIN »; distance:0; metadata: provider Gatewatcher, performance_impact Medium, signature_severity Major, risk 95, mitre_tactic_id T0001, mitre_tactic_name Initial_Access, mitre_technique_id T1190, mitre_technique_name Exploit_Public-Facing_Application; sid:100002; )
alert http $EXTERNAL_NET any -> $HOME_NET any (msg: « GW LAB Possible CVE-2024-27198 successful exploitation (token) »; flow: to_client,established; flowbits:isset,TeamCity.CVE-2024-27198; http.stat_code; content: »200″;http.response_body; content: « |3C|token name=|22| »; content: »value=|22| »; distance:0; metadata: provider Gatewatcher, performance_impact Medium, signature_severity Major, risk 95, mitre_tactic_id T0001, mitre_tactic_name Initial_Access, mitre_technique_id T1190, mitre_technique_name Exploit_Public-Facing_Application; sid:100003; )
# CVE-2024-27199
alert http $EXTERNAL_NET any -> $HOME_NET any (msg: « GW LAB Possible CVE-2024-27199 exploitation attempt M1″; flow: to_server,established; http.uri.raw; content: »/res/ »; content: « ../ »; distance:0; pcre: »/\/(app|admin)\// »; classtype:web-application-attack; metadata: provider Gatewatcher, performance_impact Medium, signature_severity Minor, risk 70, mitre_tactic_id T0001, mitre_tactic_name Initial_Access, mitre_technique_id T1190, mitre_technique_name Exploit_Public-Facing_Application; sid:100004; )
alert http $EXTERNAL_NET any -> $HOME_NET any (msg: « GW LAB Possible CVE-2024-27199 exploitation attempt M2″; flow: to_server,established; http.uri.raw; content: »/update/ »; content: « ../ »; distance:0; pcre: »/\/(app|admin)\// »; classtype:web-application-attack; metadata: provider Gatewatcher, performance_impact Medium, signature_severity Minor, risk 70, mitre_tactic_id T0001, mitre_tactic_name Initial_Access, mitre_technique_id T1190, mitre_technique_name Exploit_Public-Facing_Application; sid:100005; )
alert http $EXTERNAL_NET any -> $HOME_NET any (msg: « GW LAB Possible CVE-2024-27199 exploitation attempt M3″; flow: to_server,established; http.uri.raw; content: »/.well-known/acme-challenge/ »; content: « ../ »; distance:0; pcre: »/\/(app|admin)\// »; classtype:web-application-attack; metadata: provider Gatewatcher, performance_impact Medium, signature_severity Minor, risk 70, mitre_tactic_id T0001, mitre_tactic_name Initial_Access, mitre_technique_id T1190, mitre_technique_name Exploit_Public-Facing_Application; sid:100006; )
Note : Chaque système d’information étant différent, il est important de tester les effets de toutes nouvelles règles dans un environnements de qualification afin de prévenir toute dégradation des performances ou faux positifs.
Correction
Comme mentionné en introduction, l’éditeur a déjà publié une nouvelle version (2023.11.4) qui corrige ces vulnérabilités.
Un patch correctif a également été mis à disposition pour les utilisateurs ne pouvant pas effectuer une mise à jour complète dans un délai raisonnable.
Pour rappel, fin 2023, une vulnérabilité de type RCE avait été identifiée sur ce même outil. Quelques jours plus tard, cette vulnérabilité avait déjà été observée lors d’attaque par différents groupes de ransomware. Il est donc fortement recommandé de mettre à jour les instances TeamCity le plus rapidement possible, d’autant plus si celles-ci sont exposées sur internet.
Auteur : Purple Team Gatewatcher