
Información sobre CVE-2026-27825 y CVE-2026-27826 descubiertas por Pluto Security y un script bash para identificar instancias vulnerables de mcp-atlassian que permiten la actualización automática a una versión corregida.
Dos vulnerabilidades críticas en mcp-atlassian, uno de los servidores MCP más populares del ecosistema (más de 4.4K estrellas en GitHub, más de 4M de descargas).
Descubiertas por el equipo de Pluto Security.
| CVE | CVSS | Tipo | Descripción |
|---|
| CVE-2026-27825 | 9.1 Crítico | Escritura Arbitraria de Archivos / RCE | El path traversal en la descarga de adjuntos permite escribir cualquier archivo en el sistema de archivos del host |
| CVE-2026-27826 | 8.2 Alto | SSRF mediante Inyección de Cabeceras | Las cabeceras URL sin validar permiten a los atacantes usar el servidor MCP como proxy hacia redes internas |
Versiones afectadas: < 0.17.0 usando transporte HTTP (streamable-http o sse)
Corregido en: v0.17.0
Cuando mcp-atlassian se ejecuta con transporte HTTP, se vincula a 0.0.0.0 (todas las interfaces de red) sin autenticación. Cualquier dispositivo en la misma red — un WiFi de oficina compartido, un espacio de coworking, una VPC en la nube — puede invocar cualquiera de sus más de 40 herramientas sin credenciales.
CVE-2026-27825 permite a un atacante escribir archivos arbitrarios en el host: colocar una reverse shell en ~/.bashrc, añadir claves SSH a ~/.ssh/authorized_keys, o plantar un cron job — logrando ejecución remota de código completa.
CVE-2026-27826 convierte el servidor MCP en un proxy SSRF: el atacante puede acceder a endpoints de metadatos de la nube (169.254.169.254), escanear servicios internos y mapear la red de la víctima — todo desde la propia máquina de la víctima.
Usa el script de actualización para escanear tu sistema:
# Descarga el script o clona este repositorio
# Comprueba si estás afectado (solo lectura, no realiza cambios)
./update-mcp-atlassian.sh --check-only
# También escanea las configuraciones de clientes MCP (Claude Desktop, Cursor, VS Code)
./update-mcp-atlassian.sh --check-only --scan
| Método | Qué comprueba |
|---|---|
| pip / pip3 | Instalaciones del sistema o virtualenv mediante pip show |
| uv tool | Herramientas instaladas mediante uv tool install |
| Checkouts de código fuente | Busca en ~ archivos pyproject.toml que referencien mcp-atlassian |
| Virtualenvs | Busca en ~ directorios site-packages/mcp_atlassian |
| Imágenes Docker | Imágenes que coincidan con mcp-atlassian |
| Configuraciones de clientes MCP | (con --scan) ajustes 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 Solo escanear, sin realizar cambios (recomendado en la primera ejecución)
--scan También comprueba las configuraciones de clientes MCP en busca de referencias
a mcp-atlassian y marca configuraciones de transporte peligrosas (0.0.0.0, transporte HTTP)
-h, --help Muestra la ayuda
# Escanea y actualiza las instalaciones vulnerables
./update-mcp-atlassian.sh
El script actualiza automáticamente las instalaciones de pip, pip3, uv tool y virtualenv. Para checkouts de código fuente e imágenes Docker, muestra instrucciones manuales.
| Método | Comando |
|---|---|
| pip | pip install --upgrade "mcp-atlassian>=0.17.0" |
| uv tool | uv tool upgrade mcp-atlassian |
| Código fuente | cd mcp-atlassian && git pull && uv sync |
| Docker | docker pull ghcr.io/sooperset/mcp-atlassian:latest |
Para un análisis técnico completo que incluya rutas de código vulnerables, flujos de explotación, escenarios de ataque del mundo real y cómo funcionan las correcciones, consulta la entrada del blog.
El método download_attachment() en confluence/attachments.py acepta un target_path proporcionado por el usuario y escribe en él sin validación de ruta:
# v0.16.1 — sin comprobación de path traversal
os.makedirs(os.path.dirname(target_path), exist_ok=True)
with open(target_path, "wb") as f: # escribe en CUALQUIER ruta
for chunk in response.iter_content(chunk_size=8192):
f.write(chunk)
Corregido en PR #987 añadiendo validate_safe_path() — resuelve symlinks, normaliza rutas y aplica la contención del directorio base.
El middleware en servers/main.py confía en las cabeceras X-Atlassian-Jira-Url / X-Atlassian-Confluence-Url sin validación, permitiendo a un atacante redirigir las peticiones salientes del servidor a URLs arbitrarias.
Corregido en PR #986 añadiendo validate_url_for_ssrf() — lista blanca de esquemas, bloqueo de IPs privadas, comprobaciones de resolución DNS y validación de redirecciones.
update-mcp-atlassian.sh Script de escaneo y actualización (macOS / Linux)
README.md Este archivo
-xdev para evitar recorrer montajes de red--check-only es completamente de solo lecturaApache 2.0