Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessControl a public Jira URL as MCP caller
-
DeliveryTrigger _lookup_user_by_permissions user lookup
-
ExploitUnhooked requests.get follows attacker redirect
-
ExecutionReach internal-only address bypassing SSRF hook
-
ImpactProbe/disclose internal service response
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 | Exploitation requires an MCP caller able to control the public Jira base URL the server uses, and a Jira user-lookup operation that routes through JiraUserMixin._lookup_user_by_permissions (the code path that calls the unhooked module-level requests.get rather than the SSRF-protected session). The attacker must also run or control a server at that URL that returns a redirect to an internal address. Practical impact is limited: the SSRF is blind/low-confidentiality (C:L, no I/A), and the attacker-controlled-URL requirement means this is most exploitable in HTTP/multi-user or shared-credential deployments where a caller can supply their own Jira endpoint; single-user stdio deployments with a fixed trusted Jira URL are not realistically exposed. Fixed in v0.22.0, which routes the call through the hooked session, adds make_ssrf_redirect_hook, and mounts DNS-rebind pinning. |
| Impact | This is a genuine but low-severity SSRF (CWE-918). The vendor CVSS of 5.3 (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N) is defensible: the flaw only yields limited confidentiality impact (C:L) via a blind/probe SSRF, with no integrity or availability impact. No EPSS score, no CISA KEV listing, and no public exploit code were provided, so this is 'no public exploit identified at time of analysis.' There is no SSVC data supplied. The most important caveat is the PR:N rating: exploitation requires a caller who can control the public Jira URL that the MCP server contacts, which in practice means a permitted MCP caller in an HTTP/multi-user deployment - arguably PR:L rather than PR:N, which would lower the score to roughly 4.3. Signals are internally consistent (moderate CVSS, no exploitation evidence, niche product), so this is a routine-priority patch item rather than an urgent one; the real value of the fix is that it closes a bypass of an earlier SSRF hardening (CVE-2026-27826) rather than a novel high-impact bug. |
| Exploit ScenarioDerived | An attacker who can act as an MCP caller supplies a public Jira base URL under their control; when JiraUserMixin._lookup_user_by_permissions issues a user-lookup via the unhooked module-level requests.get, the attacker's server responds with an HTTP redirect pointing at an internal address (e.g., cloud metadata or an internal service). Because this call path bypasses the SSRF redirect hook added for CVE-2026-27826, the server follows the redirect and contacts the internal target on the attacker's behalf. No public exploit code was identified, and the SSRF is largely blind, yielding limited confidentiality (C:L). |
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) prior to 0.22.0 lets an MCP caller who controls the public Jira base URL have a Jira user-lookup request redirected to an internal address, bypassing the SSRF redirect protections previously added for CVE-2026-27826. The vulnerable path is JiraUserMixin._lookup_user_by_permissions, which calls the module-level requests.get instead of the fetcher's protected session, so the response hook that enforces redirect validation is never applied. Impact is limited and blind (confidentiality-only, no integrity or availability effect) and, per the independent assessment, requires the attacker to control the Jira endpoint plus a server that issues a redirect to an internal target, making it most realistic in HTTP/multi-user or shared-credential deployments rather than single-user stdio setups with a fixed trusted Jira URL. No public exploit code was identified at time of analysis and there is no KEV listing; v0.22.0 resolves the issue.
RemediationAI
Vendor-released patch: upgrade mcp-atlassian to v0.22.0 (https://github.com/sooperset/mcp-atlassian/releases/tag/v0.22.0), which routes JiraUserMixin._lookup_user_by_permissions through the SSRF-hooked session, adds make_ssrf_redirect_hook to the session response hooks, and mounts DNS-rebinding pinning; the underlying fix is visible in PR https://github.com/sooperset/mcp-atlassian/pull/1448 and commit https://github.com/sooperset/mcp-atlassian/commit/b041733473f95119dd539542a43c280737a8e460. If upgrading immediately is not possible, stop exposing the server to untrusted MCP callers: run single-user stdio deployments with a hard-coded, operator-controlled Jira base URL and disable any tool path that lets a caller supply the Jira endpoint, which removes the attacker-controlled-URL precondition at the cost of losing multi-tenant flexibility. In shared/HTTP deployments, add network-layer egress controls on the server host that deny outbound connections to RFC1918, link-local (169.254.0.0/16, including cloud metadata endpoints), loopback, and other internal ranges and force DNS resolution through a resolver that cannot be influenced by the caller - trade-off is breakage of legitimate Jira/Confluence instances hosted on internal addresses, which then need explicit allowlisting. Because the impact is blind SSRF with confidentiality-only effect, monitoring outbound requests from the MCP server for unexpected redirect chains to internal hosts is a useful compensating detection measure. Refer to the advisory GHSA-v9m3-wfh8-5646 for the authoritative mitigation guidance.
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 Confluence and Jira access for MCP clients such as LLM agents. The affected code lives in the Jira user-lookup mixin: JiraUserMixin._lookup_user_by_permissions resolves a user by permissions, and in vulnerable versions it issues its HTTP request through the bare module-level requests.get function rather than through self.jira._session.get, the session object on which the SSRF redirect hook (_make_ssrf_safe_hook / make_ssrf_redirect_hook) is registered under hooks['response']. Because the request bypasses that hooked session, the redirect validation that was introduced as the fix for CVE-2026-27826 is not executed, and an attacker-supplied Jira base URL can return an HTTP redirect to an internal address that the library follows transparently. The root cause class is CWE-918 (Server-Side Request Forgery), i.e. a failure to consistently enforce URL/redirect validation across all outbound request paths in an application that fetches caller-influenced URLs. The 0.22.0 fix routes the lookup through the hooked session and additionally mounts a DNS-pinning adapter (mount_ssrf_pinning) so the resolve-then-connect window (DNS rebinding TOCTOU) is closed while preserving TLS SNI. The same upstream pull request bundles related hardening, including path-traversal confinement for Confluence attachment uploads (validate_safe_path), enforcement of the operator's spaces allowlist as a hard AND boundary in Confluence search CQL, and refusal to download Jira attachments into the working-directory root to avoid overwriting importable modules.
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:N/UI:N/S:U/C:L/I:N/A:N
Network SSRF with low complexity, but requires a permitted caller to control the Jira URL (PR:L not PR:N); blind SSRF yields only limited confidentiality (C:L), no I/A.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
MCP Atlassian is a Model Context Protocol (MCP) server for Atlassian products (Confluence and Jira). Prior to 0.22.0, JiraUserMixin._lookup_user_by_permissions uses the module-level requests.get function instead of the fetcher's protected session. A caller-controlled public Jira URL can redirect that unhooked request to an internal address, bypassing the redirect checks added for CVE-2026-27826. The advisory traces the vulnerable input and processing flow through JiraUserMixin._lookup_user_by_permissions, requests.get, self.jira._session.get, and _make_ssrf_safe_hook, which identify the affected entry points, controls, and code paths. This issue is fixed in version 0.22.0.
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
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-84759
GHSA-v9m3-wfh8-5646
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB