
Informations sur les CVE-2026-27825 et CVE-2026-27826 découvertes par Pluto Security et un script bash pour identifier les instances mcp-atlassian vulnérables permettant une mise à jour automatique vers une version corrigée.
Deux vulnérabilités critiques dans mcp-atlassian, l'un des serveurs MCP les plus populaires de l'écosystème (plus de 4,4K étoiles GitHub, plus de 4M de téléchargements).
Découvertes par l'équipe de Pluto Security.
| CVE | CVSS | Type | Description |
|---|
| CVE-2026-27825 | 9.1 Critique | Écriture arbitraire de fichiers / RCE | Traversée de chemin lors du téléchargement de pièces jointes permettant d'écrire n'importe quel fichier sur le système de fichiers hôte |
| CVE-2026-27826 | 8.2 Élevée | SSRF via injection d'en-têtes | Des en-têtes d'URL non validés permettent aux attaquants d'utiliser le serveur MCP comme proxy vers les réseaux internes |
Versions concernées : < 0.17.0 utilisant le transport HTTP (streamable-http ou sse)
Corrigé dans : v0.17.0
Lorsque mcp-atlassian fonctionne avec le transport HTTP, il se lie à 0.0.0.0 (toutes les interfaces réseau) sans authentification. Tout appareil sur le même réseau — un WiFi de bureau partagé, un espace de coworking, un VPC cloud — peut invoquer n'importe lequel de ses 40+ outils sans identifiants.
CVE-2026-27825 permet à un attaquant d'écrire des fichiers arbitraires sur l'hôte : déposer un reverse shell dans ~/.bashrc, ajouter des clés SSH dans ~/.ssh/authorized_keys, ou planifier une tâche cron — obtenant ainsi une exécution de code à distance complète.
CVE-2026-27826 transforme le serveur MCP en proxy SSRF : l'attaquant peut atteindre les points de terminaison de métadonnées cloud (169.254.169.254), scanner les services internes et cartographier le réseau de la victime — le tout depuis la propre machine de la victime.
Utilisez le script de mise à jour pour analyser votre système :
# Téléchargez le script ou clonez ce dépôt
# Vérifiez si vous êtes concerné (lecture seule, aucune modification)
./update-mcp-atlassian.sh --check-only
# Analysez également les configurations des clients MCP (Claude Desktop, Cursor, VS Code)
./update-mcp-atlassian.sh --check-only --scan
| Méthode | Ce qu'il vérifie |
|---|---|
| pip / pip3 | Installations système ou virtualenv via pip show |
| uv tool | Outils installés via uv tool install |
| Checkouts source | Recherche dans ~ les fichiers pyproject.toml référençant mcp-atlassian |
| Virtualenvs | Recherche dans ~ les répertoires site-packages/mcp_atlassian |
| Images Docker | Images correspondant à mcp-atlassian |
| Configs clients MCP | (avec --scan) paramètres de Claude Desktop, Cursor, VS Code, Claude Code |
=== mcp-atlassian Security Update Check ===
CVE-2026-27825 (CVSS 9.1) + CVE-2026-27826 (CVSS 8.2)
Safe version: >= 0.17.0
--- Scanning for mcp-atlassian installations ---
[!!] pip: 0.16.1 (VULNERABLE) -- /usr/local/lib/python3.12/site-packages
[OK] uv-tool: 0.17.0 (safe) -- uv tool install
Found 2 installation(s): 1 vulnerable, 1 safe, 0 unknown
1 vulnerable installation(s) found.
Run without --check-only to upgrade.
--check-only Analyse uniquement, aucune modification (recommandé pour la première exécution)
--scan Vérifie également les configs des clients MCP pour les références à mcp-atlassian
et signale les paramètres de transport dangereux (0.0.0.0, transport HTTP)
-h, --help Affiche l'aide
# Analyse et mise à niveau des installations vulnérables
./update-mcp-atlassian.sh
Le script met à niveau automatiquement les installations pip, pip3, uv tool et virtualenv. Pour les checkouts source et les images Docker, il affiche des instructions manuelles.
| Méthode | Commande |
|---|---|
| pip | pip install --upgrade "mcp-atlassian>=0.17.0" |
| uv tool | uv tool upgrade mcp-atlassian |
| Source | cd mcp-atlassian && git pull && uv sync |
| Docker | docker pull ghcr.io/sooperset/mcp-atlassian:latest |
Pour une analyse technique complète incluant les chemins de code vulnérables, les flux d'exploitation, les scénarios d'attaque réels et le fonctionnement des correctifs, consultez le billet de blog.
La méthode download_attachment() dans confluence/attachments.py accepte un target_path fourni par l'utilisateur et y écrit sans validation du chemin :
# v0.16.1 — aucune vérification de traversée de chemin
os.makedirs(os.path.dirname(target_path), exist_ok=True)
with open(target_path, "wb") as f: # écrit dans N'IMPORTE QUEL chemin
for chunk in response.iter_content(chunk_size=8192):
f.write(chunk)
Corrigé dans PR #987 en ajoutant validate_safe_path() — résout les liens symboliques, normalise les chemins, impose le confinement dans le répertoire de base.
Le middleware dans servers/main.py fait confiance aux en-têtes X-Atlassian-Jira-Url / X-Atlassian-Confluence-Url sans validation, permettant à un attaquant de rediriger les requêtes sortantes du serveur vers des URL arbitraires.
Corrigé dans PR #986 en ajoutant validate_url_for_ssrf() — liste blanche de schémas, blocage des IP privées, vérifications de résolution DNS, validation des redirections.
update-mcp-atlassian.sh Script d'analyse et de mise à niveau (macOS / Linux)
README.md Ce fichier
-xdev pour éviter de traverser les montages réseau--check-only est entièrement en lecture seuleApache 2.0