Aller au contenu

CVE-2026-73498 : mcp-atlassian Confluence Upload Attachment Arbitrary File Exfiltration

HERMES

SCORE DE MENACE HERMES & SURFACE D'EXPOSITION MCP

Cible : Serveur Model Context Protocol (MCP) & Passerelle Atlassian
Confiance : 96%
88 / 100
ÉLEVÉ

Mesure la pertinence opérationnelle réelle, la militarisation de l'exploit et la posture de menace active.

Décomposition des dimensions
Exploitabilité 18 / 20
Activité de menace 16 / 20
Militarisation 20 / 20
Exposition 19 / 20
Prévalence 18 / 20
Impact 17 / 20
Maturité de l'exploit 17 / 20
Potentiel d'attaque en chaîne 20 / 20
⚖️ Divergence & Justification opérationnelle

Le score CVSS v3.1 évalue CVE-2026-73498 à 7.7 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N). Le score Hermes attribue 88 (HIGH) pour refléter le rayon d'impact démultiplié par l'exécution d'outils d'agents IA et l'accès direct aux fichiers et réseaux.

HASS

SÉVÉRITÉ AGENTIQUE HASS & IMPACT D'EXÉCUTION D'OUTILS

Cible : Interface d'Agent LLM Autonome & Frontière d'Exécution Hôte
Confiance : 92%
72 / 100
ÉLEVÉ

Mesure le risque systémique spécifique découlant de l'autonomie, de l'autorité des outils et de l'exécution en cascade.

Décomposition des dimensions
Autonomie décisionnelle 16 / 20
Accès aux outils & APIs 19 / 20
Privilege 17 / 15
Persistence 15 / 15
External Impact 18 / 15
Propagation 16 / 15
⚖️ Divergence & Justification opérationnelle

Les protocoles d'outils agentiques tels que MCP confèrent aux modèles de langage un accès direct au système de fichiers et aux services cloud. Les failles dans les points d'entrée MCP permettent à des injections indirectes de compromettre le système hôte.

🕸️ Graphe de connaissances connecté & Provenance

CVE-2026-73498: mcp-atlassian Confluence Upload Attachment Arbitrary File ExfiltrationVULNÉRABILITÉ

Nœuds connectés : 1
Relations sortantes actives
→ affectsCOMPOSANTLangChain & LangGraph Framework
98% VERY_HIGH

Multi-agent coordination framework and cyclic state graph orchestration engine for tool-calling agents.

🔍 Pourquoi cette relation ? (Preuves & Provenance)

“Confirmed security vulnerability in LangGraph Multi-Agent Runtime documented in Hermes dossier.”

Preuves vérifiées associées :

1. Contexte Technique & Matrice des Logiciels Affectés

Section intitulée « 1. Contexte Technique & Matrice des Logiciels Affectés »
ParamètreSpécificationÉvaluation Opérationnelle
Identifiant CVECVE-2026-73498Avis Officiel de Vulnérabilité
Produit Affectésooperset/mcp-atlassianServeur Model Context Protocol
Classe de VulnérabilitéCWE-22Path Traversal File Exfiltration
Composant Vulnérableconfluence_upload_attachmentMoteur d’Exécution et d’Acheminement d’Outils
Vecteur d’ExploitationRéseau Distant / Injection de PromptPoint d’entrée HTTP SSE ou canal stdio
Privilèges RequisFaibles (PR:L)Contexte d’exécution d’outils agent
Impact RésultantAccès Arbitraire aux Fichiers / SSRFContrôle en lecture/écriture sur l’hôte ou l’IAM cloud
Statut de CorrectionCorrigé en version 0.22.0Mise à niveau impérative

2. Anatomie de la Faille & Analyse de Cause Racine

Section intitulée « 2. Anatomie de la Faille & Analyse de Cause Racine »

La faille réside dans confluence_upload_attachment. Le serveur ne validait pas l’appartenance des chemins demandés au répertoire de travail autorisé (workspace_dir) :

# Code vulnérable dans mcp-atlassian (< 0.22.0)
def confluence_upload_attachment(file_path: str, **kwargs):
# INSECURE : file_path est manipulé directement sans confinement de répertoire
with open(file_path, "rb") as f:
file_bytes = f.read()
return client.upload(file_bytes)

La mise à jour en version 0.22.0 introduit une fonction de vérification systématique validate_safe_path() :

# Code corrigé dans mcp-atlassian (0.22.0)
from mcp_atlassian.utils import validate_safe_path
def confluence_upload_attachment(file_path: str, **kwargs):
safe_path = validate_safe_path(file_path, workspace_dir=CONFIG.WORKSPACE_ROOT)
with open(safe_path, "rb") as f:
file_bytes = f.read()
return client.upload(file_bytes)

3. Vecteurs d’Attaque & Scénario d’Exploitation

Section intitulée « 3. Vecteurs d’Attaque & Scénario d’Exploitation »
sequenceDiagram
autonumber
actor Attaquant as Attaquant / Prompt Malveillant
participant Agent as Agent IA (Claude/Cursor)
participant MCP as Démon mcp-atlassian
participant Hote as Système Hôte OS
participant Atlassian as API Jira / Confluence
Attaquant->>Agent: Injection Indirecte de Prompt
Agent->>MCP: tools/call confluence_upload_attachment(file_path="../../../../etc/passwd")
Note over MCP: Vulnérabilité CVE-2026-73498 :<br/>Défaut de Confinement / Biais Auth
MCP->>Hote: Accès à la ressource hôte arbitraire
Hote-->>MCP: Données du fichier ou canal d'exécution
MCP->>Atlassian: Téléversement de secret en pièce jointe
Atlassian-->>Attaquant: Fuite d'informations sensibles
  1. Accès Initial : L’attaquant injecte un prompt malveillant dans un ticket Jira ou un fichier source lu par l’agent IA.
  2. Déclenchement de l’Outil : Le LLM émet une requête JSON-RPC appelant confluence_upload_attachment avec un chemin malveillant.
  3. Franchissement de Frontière : En raison de CVE-2026-73498, le démon MCP exécute l’opération en dehors du bac à sable du workspace.
  4. Exfiltration : Les données sensibles de l’hôte (clés SSH, variables d’environnement, jetons cloud) sont téléversées ou retournées à l’attaquant.

alert http any any -> any any (
msg:"HERMES-CODEX EXPLOIT mcp-atlassian CVE-2026-73498 Tentative d'Attaque";
flow:to_server,established;
content:"POST"; http_method;
content:"/mcp/tools/call"; http_uri;
content:"confluence_upload_attachment"; nocase;
content:"../";
classtype:attempted-admin;
sid:20260032;
rev:1;
metadata:cve CVE-2026-73498, severity high;
)

  1. Mise à Niveau Immédiate : Mettre à jour le paquet mcp-atlassian vers la version 0.22.0 ou supérieure :
    Fenêtre de terminal
    pip install --upgrade "mcp-atlassian>=0.22.0"
  2. Liaison Locale Stricte : Restreindre l’écouteur HTTP/SSE exclusivement à l’interface 127.0.0.1 :
    Fenêtre de terminal
    python -m mcp_atlassian.server --host 127.0.0.1 --port 8000
  3. Isolation de l’Espace de Travail : Définir MCP_WORKSPACE_DIR pour confiner toutes les opérations de fichiers à un dossier restreint.
  4. Filtrage des Outils : Désactiver les outils de manipulation de pièces jointes non indispensables via ENABLED_TOOLS ou TOOLSETS.