MCP Atlassian: SSRF via DNS Rebinding in Header-Based Authentication Flow
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:
- Attacker sets up rebind.attacker.com with short TTL (1 second)
- First DNS resolution (validate_url_for_ssrf): returns 1.2.3.4 (public) -- passes
- TTL expires
- Second DNS resolution (requests.get): returns 169.254.169.254 (metadata)
- 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.
Betroffene Software
Klicken Sie auf eine Technologie, um alle zugehörigen Schwachstellen anzuzeigen.
| Plattform | Paket | Anfällige Versionen | Behoben in |
|---|---|---|---|
| Python (PyPI) | mcp-atlassian | < 0.22.0 | 0.22.0 |
Verweise
- https://github.com/sooperset/mcp-atlassian/security/advisories/GHSA-49xv-9743-pw8w
- https://nvd.nist.gov/vuln/detail/CVE-2026-77265
- https://github.com/sooperset/mcp-atlassian/pull/1448
- https://github.com/sooperset/mcp-atlassian/commit/b041733473f95119dd539542a43c280737a8e460
- https://github.com/sooperset/mcp-atlassian
- https://github.com/sooperset/mcp-atlassian/releases/tag/v0.22.0
- https://pypi.org/project/mcp-atlassian
- https://github.com/advisories/GHSA-49xv-9743-pw8w
- CVSS-Vektor
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N- Schwäche (CWE)
CWE-918- Plattform
- Python (PyPI)
- Paket
mcp-atlassian- Veröffentlicht
- 22.09.2026
- Aktualisiert
- 11.10.2026 15:18
Quellen und Lizenzen
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
Schwachstellenhistorie: mcp-atlassian
Alle veröffentlichten Schwachstellen dieses Pakets (Python (PyPI)), neueste zuerst. Zeigt, ob es ein einmaliger Ausrutscher ist oder ein Paket, das man im Auge behalten muss.
- Einträge insgesamt
- 30
- Erste → letzte
- 03.2026 09.2026
- Ohne Fix
- 0
- In Angriffen ausgenutzt
- 0
Verteilung nach Schweregrad
- Kritisch 2
- Hoch 19
- Mittel 9
Veröffentlichungen pro Jahr
- 2026: 30
-
MCP Atlassian: SSRF via DNS Rebinding in Header-Based Authentication Flow dieser Eintrag
Erkennen Sie Schwachstellen in Ihrer Anwendung
Mit der DockRay-Integration und aktivierter Softwareinventarisierung prüft DockRay gemeldete Komponentenversionen auf bekannte Schwachstellen und benachrichtigt Sie über bestätigte Treffer. Die Abdeckung hängt von der unterstützten Technologie und den verfügbaren Meldungen ab.