Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker controls/compromises configured Atlassian instance
-
DeliveryMCP server connects via basic-auth or OAuth
-
ExploitServer returns 302 to 169.254.169.254 metadata
-
ExecutionUnprotected session follows redirect
-
ImpactInternal metadata/IAM credentials exfiltrated
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires MCP Atlassian < 0.22.0 configured through the basic-auth or oauth_pat authentication branch (the header-PAT branch is NOT affected because it alone attaches _make_ssrf_safe_hook / attach_ssrf_hook=True). The attacker must control or have already compromised the specific Atlassian instance the server is configured to connect to, and that instance must return a 3xx redirect whose Location points at an internal/private address (e.g. the 169.254.169.254 cloud metadata service). Exploitation further depends on an actually reachable internal target (cloud metadata endpoint or other internal service) from the MCP host. Limiting factors: not exploitable against a trusted/uncompromised Atlassian backend, not applicable to header-PAT deployments, and no end-user interaction is needed but operator-level trust in a malicious upstream is effectively a prerequisite. |
| Impact | This is a genuine but conditionally-gated SSRF (CWE-918). CVSS 3.1 (8.5, AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N) reflects a network-reachable, scope-changing information-disclosure flaw, and the S:C/C:H combination is what pushes it to High - the SSRF pivots from the MCP process into internal services (e.g. the 169.254.169.254 cloud metadata endpoint) to steal IAM credentials. However, the exploitation-signal cluster points to LOW real-world urgency: EPSS is only 0.32% (26th percentile), and SSVC records Exploitation=none, Automatable=no, Technical Impact=partial - i.e. no observed exploitation and not mass-automatable. A public PoC exists (author-supplied in the GHSA advisory, tested on v0.21.1/commit d8bc786), so exploit knowledge is public, but PoC availability is NOT active exploitation and this is not on CISA KEV. The most important nuance the raw CVSS understates: the attacker must CONTROL OR HAVE COMPROMISED the Atlassian instance the MCP server is already configured to trust - this is not drive-by exploitation of a default deployment, but abuse of a malicious/compromised upstream that the operator deliberately points at. That precondition (plus a reachable internal metadata/service endpoint) materially raises real attack complexity beyond the AC:L in the NVD vector. Net: a real defect worth patching, but a targeted/scenario-dependent issue rather than a wormable priority. |
| Exploit ScenarioDerived | An MCP Atlassian server (< 0.22.0) is configured with basic-auth or OAuth/PAT credentials pointing at an Atlassian instance the attacker controls or has compromised. When the MCP server makes a request, that instance replies with a 302 redirect to http://169.254.169.254/latest/meta-data/iam/security-credentials/; because the SSRF redirect hook is only attached in the header-PAT branch, the unprotected session follows the redirect and returns cloud metadata (e.g. AWS IAM credentials) to the attacker. A working PoC is published in the GHSA advisory (tested on v0.21.1), though no active exploitation has been reported. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Sep 25, 2026
Server-side request forgery in MCP Atlassian prior to 0.22.0 lets an attacker who controls or has already compromised the configured Atlassian backend return a 3xx redirect pointing at an internal address (for example the 169.254.169.254 cloud metadata service), which the MCP server's HTTP session then follows - potentially returning cloud IAM credentials or other internal service data to the attacker. Only deployments configured through the basic-auth or oauth_pat branches are exposed, because those fetcher sessions fail to attach the _make_ssrf_safe_hook redirect validator that the header-PAT branch sets via attach_ssrf_hook=True; header-PAT deployments are not affected. Publicly available exploit code exists (no CISA KEV listing, so no confirmed active exploitation), the vendor fix ships in 0.22.0, and EPSS remains low at 0.32% (26th percentile) with the assessed vector requiring high attack complexity and a malicious upstream prerequisite.
Earlier versions of this analysis (1)
Server-side request forgery in MCP Atlassian versions prior to 0.22.0 allows an attacker who can influence the configured upstream Atlassian instance to make the MCP server follow an HTTP redirect to an internal address, because the _make_ssrf_safe_hook redirect validator is omitted from JiraFetcher and ConfluenceFetcher sessions created through the basic-auth and oauth_pat branches and those sessions do not revalidate redirect destinations. Per the assessed vector (CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:N, 7.1) the attacker is a low-privileged, authenticated operator-configurable path and must also control or have compromised the configured Atlassian endpoint, so exploitation is not possible where the configured instance is fully trusted and defender-controlled; confidentiality impact is high (reachable internal services or cloud metadata) while integrity impact is low. No public exploit code and no confirmed active exploitation were identified at time of analysis, and the issue is fixed in 0.22.0.
RemediationAI
Vendor-released patch: upgrade to mcp-atlassian 0.22.0 (for example pip install --upgrade 'mcp-atlassian>=0.22.0'), which attaches make_ssrf_redirect_hook to all Confluence and Jira sessions and mounts DNS pinning to eliminate the validate-then-reconnect TOCTOU; the change is documented in advisory GHSA-6529-c226-h328 and delivered by PR https://github.com/sooperset/mcp-atlassian/pull/1448 (commit b041733473f95119dd539542a43c280737a8e460). If immediate upgrade is not possible, switch the deployment to the header-PAT authentication branch, which already attaches the SSRF hook - the trade-off is that it requires a header-based personal access token and may not be compatible with OAuth or basic-auth environments. In parallel, enforce network-layer compensating controls on the MCP host: block outbound traffic to link-local 169.254.0.0/16 and RFC1918 ranges, and require IMDSv2 (session-token-only) on AWS so a followed redirect cannot retrieve instance credentials - note that blanket egress filtering can break legitimate access to on-premises Atlassian Server instances, so scope exceptions to the specific Atlassian hosts in use. Also treat the configured Atlassian endpoint as a trust boundary: do not point the server at attacker-influenced or unvetted Confluence/Jira instances, since the assessed attack complexity (AC:H) and prerequisite of a malicious upstream limit but do not eliminate risk.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
MCP Atlassian is a Python Model Context Protocol server that brokers tool calls to Atlassian Confluence and Jira using the requests library. The root cause is CWE-918 (server-side request forgery), specifically an incomplete fix for an earlier SSRF advisory (GHSA-7r34-79r5-rcc9): the redirect-validation hook _make_ssrf_safe_hook checks response.is_redirect, reads the Location header, and calls validate_url_for_ssrf() to reject private/link-local destinations before a redirected request is issued. In src/mcp_atlassian/servers/dependencies.py, three authentication branches call _create_and_validate(), but only Branch 1 (header PAT) passes attach_ssrf_hook=True; the parameter defaults to False, so Branch 2 (basic auth) and Branch 3 (oauth_pat) build JiraFetcher/ConfluenceFetcher sessions with no response hook on the hook chain. If the upstream Atlassian instance answers with 302 Location: http://169.254.169.254/latest/meta-data/iam/security-credentials/, the unprotected session follows it because Python's requests does not restrict redirect targets by default. The upstream fix in PR #1448 applies make_ssrf_redirect_hook() to every Confluence/Jira session at client construction time - covering direct _session.get() paths and global/stdio fetchers, not just the per-user HTTP path - and mounts mount_ssrf_pinning() to resolve and validate once and then connect to that pinned address while preserving TLS SNI, closing the validate-then-reconnect DNS-rebinding TOCTOU window. The CPE cpe:2.3:a:sooperset:mcp-atlassian:*:*:*:*:*:*:*:* confirms the affected component is the PyPI-distributed mcp-atlassian package rather than a hosted service, and the accompanying PR also hardens adjacent path-traversal and CQL allowlist logic, reinforcing that this is a defense-in-depth hardening release.
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:L/PR:L/UI:N/S:C/C:H/I:L/A:N
AC:H because it requires a controlled/compromised trusted Atlassian upstream and a reachable internal endpoint; PR:L for configured credential trust; S:C/C:H as SSRF pivots to internal metadata credentials.
Primary rating from Vendor (GitHub_M).
CVSS VectorNVD
Lifecycle Timeline
3DescriptionNVD
MCP Atlassian is a Model Context Protocol (MCP) server for Atlassian products (Confluence and Jira). Prior to 0.22.0, _make_ssrf_safe_hook is omitted from JiraFetcher and ConfluenceFetcher sessions created through the basic-auth and oauth_pat branches. If an attacker-controlled or compromised configured Atlassian instance returns a redirect to an internal address, those sessions can follow the redirect without revalidating its destination. This issue is fixed in version 0.22.0.
Technical POC Analysis
CWE-918 (Server-Side Request Forgery).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
MCP Atlassian deployments prior to 0.22.0 that use basic-auth or oauth_pat configurations are exposed to a server-side request forgery issue that can redirect the server to internal endpoints, including cloud metadata services, potentially exposing cloud IAM credentials. Publicly available exploit code exists, and the vendor has released 0.22.0, so organizations running affected configurations should prioritize remediation. Leadership should care because successful exploitation could enable cloud account compromise and lateral movement, though the attack requires an attacker to control or have compromised the configured Atlassian backend.
Apply vendor patch.
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.
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
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
Information disclosure in MCP Atlassian (sooperset/mcp-atlassian) before 0.22.0 allows an authenticated caller of the MC
EUVD-2026-84631
GHSA-6529-c226-h328
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB