Media

MCP Atlassian: SSRF via DNS Rebinding in Header-Based Authentication Flow

  • Publicada: 22.09.2026
  • Actualizado: 11.10.2026 15:18

Summary

The SSRF protection for header-based authentication uses a validate-then-use pattern vulnerable to DNS rebinding. validate_url_for_ssrf resolves the hostname via DNS and checks that the resolved IP is globally routable. However, the actual HTTP request happens later, during which the DNS record may have changed to point to an internal IP (127.0.0.1, 169.254.169.254, etc.). The SSRF redirect hook only validates redirect targets, not the initial connection.

Details

The vulnerability spans main.py (validation) and dependencies.py (use).

Step 1 -- URL validation at middleware time:

In src/mcp_atlassian/servers/main.py:524-531, the URL from X-Atlassian-Jira-Url is validated:

if jira_url_str:
    ssrf_error = validate_url_for_ssrf(jira_url_str)
    if ssrf_error:
        # blocked

validate_url_for_ssrf (src/mcp_atlassian/utils/urls.py:113-116) resolves DNS and checks is_global:

dns_error = _check_dns_resolution(hostname)
if dns_error:
    return dns_error

Step 2 -- HTTP request happens later with a separate DNS resolution:

In src/mcp_atlassian/servers/dependencies.py:544-562, a JiraFetcher is created with the attacker URL and makes HTTP requests to it. The SSRF redirect hook (attach_ssrf_hook=True) is applied but only checks redirect Location headers, not the initial connection target.

DNS rebinding timeline:

  1. Attacker sets up rebind.attacker.com with short TTL (1 second)
  2. First DNS resolution (validate_url_for_ssrf): returns 1.2.3.4 (public) -- passes
  3. TTL expires
  4. Second DNS resolution (requests.get): returns 169.254.169.254 (metadata)
  5. HTTP request reaches internal IP, bypassing the SSRF check

PoC

Use a DNS rebinding service like rbndr.us. Send a request with X-Atlassian-Jira-Url set to a rebinding hostname (e.g., rebind-169.254.169.254-1.2.3.4.rbndr.us) and X-Atlassian-Jira-Personal-Token set to any value. With approximately 50% probability per attempt, the request reaches the internal metadata service.

Impact

  • Cloud metadata access: Steal IAM credentials via 169.254.169.254
  • Internal network scanning: Proxy requests to internal services
  • AC:H: DNS rebinding is probabilistic and requires multiple attempts
  • Limited to header_pat branch: Only affects deployments accepting header-based PAT authentication

Recommended Fix

Pin DNS resolution: resolve the hostname once during validation, then connect to the resolved IP directly (with the original hostname in the Host header). This eliminates the TOCTOU gap between validation and use.

Software afectado

Haz clic en una tecnología para ver todas sus vulnerabilidades.

PlataformaPaqueteVersiones vulnerablesCorregida en
Python (PyPI) mcp-atlassian < 0.22.0 0.22.0

Referencias

Puntuación CVSS 5.9/10
Vector CVSS
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Debilidad (CWE)
CWE-918
Plataforma
Python (PyPI)
Paquete
mcp-atlassian
Publicada
22.09.2026
Actualizado
11.10.2026 15:18

Fuentes y licencias

OSV / GitHub Advisory Database - PYSEC-2026-4083 - PyPA Advisory Database; CC BY 4.0

OSV / GitHub Advisory Database - GHSA-49xv-9743-pw8w - CC BY 4.0

Historial de vulnerabilidades: mcp-atlassian

Todas las vulnerabilidades publicadas de este paquete (Python (PyPI)), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.

Todas (30) en el archivo
Entradas en total
30
Primera → última
03.2026 09.2026
Sin corrección
0
Explotada en ataques
0

Distribución por gravedad

  • Crítica 2
  • Alta 19
  • Media 9

Divulgaciones por año

  1. 2026: 30
Gravedad:
  1. Alta CVE-2026-77274 < 0.22.0 0.22.0
  2. Alta CVE-2026-77267 < 0.22.0 0.22.0
  3. MCP Atlassian: SSRF via DNS Rebinding in Header-Based Authentication Flow esta entrada
    Media · 5.9 CVE-2026-77265 < 0.22.0 0.22.0
  4. Alta · 8.8 CVE-2026-77243 < 0.22.0 0.22.0

Identifica las vulnerabilidades de tu aplicación

Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.

Conectar tu aplicación
Newsletter DockRay

La seguridad de tus aplicaciones en tu correo

Vulnerabilidades importantes, recomendaciones concretas y consejos prácticos para tus aplicaciones. Elige tus tecnologías y sigue lo que importa para tu proyecto.

  • Un resumen diario de nuevas vulnerabilidades, también las críticas.
  • Avisos sobre actualizaciones importantes.
  • Consejos prácticos sobre seguridad y monitorización de aplicaciones.

Déjalo vacío para recibir avisos de todas las tecnologías.

Suscripción gratuita. Date de baja con un clic en cualquier correo.