Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach network-exposed mcp-atlassian endpoint
-
DeliverySupply attacker-controlled hostname with low-TTL DNS
-
ExploitPass validate_url_for_ssrf on public address
-
ExecutionRebind DNS to internal/metadata address before connect
-
PersistServer connects to internal/metadata endpoint
-
ImpactExfiltrate internal or credential data
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture TOCTOU prevention
|
| Exploitation Conditions | Requires the mcp-atlassian server (prior to v0.22.0) to be reachable by the attacker over a transport where it will fetch a caller-influenced URL, and the attacker must control authoritative DNS for a hostname to serve a short-lived (low-TTL) answer that is public at validation time and private at connection time. Exploitation succeeds only if the server's network can actually reach a valuable internal or metadata target (e.g. cloud IMDS at 169.254.169.254 or internal services) once rebound. No authentication is required (PR:N), but the DNS-rebinding race raises complexity (AC:H) and success is not guaranteed on any single attempt; environments already on v0.22.0, or with no reachable internal/metadata endpoints, are not exploitable. |
| Impact | This is a genuine but conditional SSRF issue, not a high-CVSS-but-hollow finding. The provided CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:N, base 7.5) reflects the core danger: network-reachable, unauthenticated (PR:N), scope-changing (the MCP server is coerced into reaching internal/cloud-metadata systems it fronts), with high confidentiality loss (C:H) but only low integrity and no availability impact. The AC:H is well-justified - the attack is a Time-of-Check/Time-of-Use race (CWE-367) requiring the attacker to serve a short-lived DNS answer that is public during validate_url_for_ssrf and private at socket connect time, i.e. classic DNS rebinding. Signals are consistent rather than conflicting: no EPSS score, no CISA KEV listing, and no public POC were provided, so exploitation status is 'no public exploit identified at time of analysis.' The one caveat worth flagging is that this vuln specifically defeats the earlier CVE-2026-27826 remediation, meaning an environment believed to be patched against SSRF may still be exposed - teams tracking only the prior CVE would miss this. Overall this is a real priority for anyone running mcp-atlassian over a network-exposed transport with reachable internal/metadata endpoints (e.g. cloud IMDS), but the race-condition complexity and niche product footprint temper the urgency relative to the 7.5 rating. |
| Exploit ScenarioDerived | An attacker sends the MCP server a URL whose hostname they control via authoritative DNS with a very low TTL; validate_url_for_ssrf resolves it to a public address and passes the SSRF check, but by the time Requests/urllib3 re-resolves to actually connect, the attacker's DNS now answers with an internal or cloud-metadata address (e.g. 169.254.169.254), so the server fetches attacker-chosen internal content and returns it. Because the flow is unauthenticated (PR:N), any network client that can reach the server can attempt this. No public exploit code was identified at time of analysis, though the advisory documents the exact vulnerable code path (validate_url_for_ssrf → _check_dns_resolution → socket.getaddrinfo → _make_ssrf_safe_hook). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 22, 2026
Server-side request forgery in MCP Atlassian (sooperset/mcp-atlassian) versions prior to 0.22.0 allows unauthenticated callers to reach internal or cloud metadata endpoints by exploiting a DNS-rebinding race, because the server validates a hostname's resolved IP and then lets Requests/urllib3 resolve that same hostname again at connection time. The assessed vector is CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:N (7.5): no authentication is needed, but the attacker must control authoritative DNS for a low-TTL name that answers publicly during validation and privately during connection, and the server must actually be able to reach a valuable internal target for the attack to pay off. This is a bypass of the earlier CVE-2026-27826 hardening rather than a new class of bug, no public exploit code or confirmed active exploitation was identified at time of analysis, and environments already running 0.22.0 or with no reachable internal/metadata endpoints are not exploitable.
RemediationAI
Vendor-released patch: upgrade mcp-atlassian to version 0.22.0, which mounts the DNS-pinning SSRF adapter and the redirect-validation hook so the validated address is the address actually connected to; the release is available at https://github.com/sooperset/mcp-atlassian/releases/tag/v0.22.0 and the fix commit is b041733473f95119dd539542a43c280737a8e460 (see also PR #1448 and advisory GHSA-72fm-whvq-jghf). Where an immediate upgrade is not possible, the most effective compensating control is egress restriction: block outbound traffic to link-local and cloud metadata ranges (169.254.0.0/16, fd00:ec2::254) and to internal RFC1918 subnets from the process or container running the MCP server, ideally by forcing all outbound HTTP through an authenticating egress proxy - the trade-off is that this also blocks any legitimate Confluence/Jira instances or webhooks hosted on those ranges. Running the server in a network namespace or container with a strict allowlist to only the intended Atlassian tenant endpoints removes the value of a successful rebind, at the cost of additional deployment complexity and breakage for any legitimate internal integration. Disabling or restricting any tool path that lets a caller supply an arbitrary URL (attachment upload/download and URL-fetch helpers) reduces the attack surface but degrades functionality for legitimate users. Note that low-TTL DNS caching alone is not a reliable mitigation, since short TTLs are precisely what the attack relies on and resolver behavior is outside the server's control.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-367, Time-of-Check Time-of-Use (TOCTOU) race, expressed as classic DNS rebinding. In the MCP server's URL fetch path, validate_url_for_ssrf performs a policy check by resolving the caller-supplied hostname (via _check_dns_resolution and socket.getaddrinfo) and confirming that the resulting addresses are not private, loopback, link-local, or otherwise internal. The request is then handed to the Requests stack, whose urllib3 connection layer performs its own independent getaddrinfo lookup - the validation result is never pinned to the connection. An attacker who controls authoritative DNS for the hostname can serve a short-TTL, public-looking A/AAAA record during the validation lookup and a private address (for example a cloud instance metadata service at 169.254.169.254, or an internal service on the same VPC) during the connection lookup, so the request that ultimately leaves the process violates the SSRF policy. The prior CVE-2026-27826 remediation added the validation step itself, which is why this issue is described as a bypass rather than a fresh defect: the check exists and is correct in isolation, but the check and the connect are not bound to the same resolution result. The upstream fix in 0.22.0 addresses this by mounting an SSRF pinning adapter (mount_ssrf_pinning) that resolves and validates once and then connects to that frozen address while preserving TLS SNI, plus a response hook (make_ssrf_redirect_hook) that validates redirect targets. The same pull request also bundles adjacent hardening - confining attachment upload sources via validate_safe_path, requiring attachment downloads to land in a subdirectory rather than the CWD root, and always ANDing the operator's Confluence space allowlist with any caller-supplied spaces filter so a tool argument cannot widen it.
Know when Mcp Atlassian gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:N
Network-reachable and unauthenticated (AV:N/PR:N); DNS-rebinding race gives AC:H; SSRF pivots to internal/metadata systems (S:C) yielding data disclosure (C:H) with limited I:L and no A impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
MCP Atlassian is a Model Context Protocol (MCP) server for Atlassian products (Confluence and Jira). Prior to 0.22.0, validate_url_for_ssrf checks a hostname's resolved addresses, but Requests and urllib3 resolve the hostname again when connecting. A caller can use a short-lived DNS answer that is public during validation and private during connection, preserving unauthenticated access to internal or metadata endpoints despite the earlier CVE-2026-27826 remediation. The advisory traces the vulnerable input and processing flow through validate_url_for_ssrf, _check_dns_resolution, socket.getaddrinfo, and _make_ssrf_safe_hook, which identify the affected entry points, controls, and code paths. This issue is fixed in version 0.22.0.
Technical POC Analysis
CWE-367 (Time-of-check Time-of-use race) enabling CWE-918 (SSRF).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Organizations using the MCP Atlassian integration (sooperset/mcp-atlassian) versions prior to 0.22.0 are exposed to a high-severity server-side request forgery flaw that could let unauthenticated attackers access internal services or cloud metadata, potentially compromising sensitive credentials and enabling lateral movement. Although no public exploit identified at time of analysis, the vulnerability bypasses earlier hardening and warrants immediate risk mitigation because of its potential to expose cloud infrastructure and internal network resources.
Block egress to cloud metadata endpoints (e.g., 169.254.169.254, 169.254.170.2) and internal RFC1918 ranges; enforce DNS pinning or use a forward proxy that re-validates resolved IPs; disable the MCP Atlassian integration if not required; implement network segmentation; enforce IMDSv2 with a hop limit of 1.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
More in Mcp Atlassian
View allServer-side request forgery in MCP Atlassian (the Model Context Protocol server for Confluence and Jira) prior to 0.22.0
MCP Atlassian (sooperset/mcp-atlassian) before 0.22.0 applies its ENABLED_TOOLS and TOOLSETS least-privilege filters onl
Path traversal in MCP Atlassian releases prior to 0.22.0 lets a caller of the confluence_upload_attachment MCP tool read
Unauthenticated arbitrary file read in MCP Atlassian (sooperset/mcp-atlassian) before 0.22.0 lets a remote network calle
Arbitrary local file read leading to data exfiltration affects sooperset's MCP Atlassian server (mcp-atlassian) prior to
Unauthenticated server-local file exfiltration in MCP Atlassian (sooperset/mcp-atlassian) before 0.22.0 allows a remote
Server-side request forgery in MCP Atlassian prior to 0.22.0 lets an attacker who controls or has already compromised th
MCP Atlassian (sooperset/mcp-atlassian) before 0.22.0 lets a low-privileged authenticated MCP caller write attacker-chos
Server-side request forgery in MCP Atlassian (sooperset/mcp-atlassian) before 0.22.0 allows a low-privileged authenticat
Arbitrary local file read in MCP Atlassian (mcp-atlassian) prior to 0.22.0 allows an authenticated MCP caller who can re
Arbitrary server-local file read and exfiltration in MCP Atlassian (sooperset/mcp-atlassian) prior to 0.22.0 lets an aut
Path traversal in the MCP Atlassian server (mcp-atlassian) prior to 0.22.0 allows an authenticated MCP client to read fi
EUVD-2026-84627
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB