Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed streamable-HTTP MCP endpoint
-
DeliverySend request without user identity
-
ExploitOperator credentials applied via fallback
-
ExecutionCall upload_attachment with sensitive file_path
-
PersistUpload host file to attacker Jira/Confluence target
-
ImpactRetrieve attachment and exfiltrate contents
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires the MCP Atlassian server (< 0.22.0) to be running the streamable-HTTP transport and reachable by the attacker over the network, AND to be configured with global/operator Atlassian (Jira/Confluence) credentials that the UserTokenMiddleware falls back to when no user identity is supplied. Under those conditions no authentication is needed and default HTTP-transport behavior is sufficient (AV:N/AC:L/PR:N/UI:N). Exploitation is LIMITED to files readable by the MCP process account, and does not apply to stdio-only deployments or deployments that require per-user identity/tokens; there is no integrity or availability impact (confidentiality-only exfiltration). |
| Impact | This is a genuine remote-unauthenticated arbitrary file read with real teeth, but its practical priority is bounded by product footprint rather than by exploit maturity. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N, base 8.6) is internally coherent with the description: the streamable-HTTP transport accepts requests with no user identity and silently falls back to shared operator credentials, so PR:N is legitimately earned here - unlike the sibling file-read CVEs in the same PR#1448 batch (e.g. CVE-2026-77260/77253/77247) which required a permitted caller (PR:L). The auth-bypass fallback (root flaw CVE-2026-77244) is what promotes this from an authenticated confused-deputy issue to a fully unauthenticated one. I would question the vendor's S:C: the impact is reading files within the MCP process's own authority and re-exporting them, which is arguably S:U; treating it as S:U lowers my independent estimate to ~7.5. There is NO EPSS score, NO CISA KEV listing, and NO public exploit code referenced - only a GitHub Security Advisory, PR, commit, and release. So exploitation status is 'no public exploit identified at time of analysis.' Net: the vulnerability class and unauth vector are serious and should be patched promptly wherever this MCP server is exposed over HTTP, but the absence of exploitation signals plus the niche deployment footprint means this is a targeted-opportunity risk, not a mass-exploitation emergency. |
| Exploit ScenarioDerived | An MCP Atlassian server (< 0.22.0) is deployed with the streamable-HTTP transport reachable on the network and configured with shared operator Jira/Confluence credentials. An unauthenticated attacker who can reach the endpoint invokes upload_attachment with file_path set to a sensitive host file (e.g. an env file, OAuth token store, or mounted secret), targeting an attacker-chosen Jira issue or Confluence page, then downloads that attachment to retrieve the file contents. No public exploit code is referenced, but the flow is trivial to reproduce given the low attack complexity. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 22, 2026
Unauthenticated arbitrary file read in MCP Atlassian (sooperset/mcp-atlassian) before 0.22.0 lets a remote network caller abuse the streamable HTTP transport, which accepts requests carrying no user identity and silently falls back to the operator's global Atlassian credentials, to force the upload_attachment tool to read any file readable by the MCP process and push its contents into an attacker-chosen Jira issue or Confluence page, where the attacker can retrieve them. Exploitation requires the server to be running the streamable HTTP transport, reachable by the attacker, and configured with shared operator credentials - stdio-only deployments and deployments that enforce per-user identity/tokens are not exposed - and impact is confidentiality-only (file exfiltration), with no integrity or availability effect. There is no evidence of active exploitation (not in CISA KEV) and no public exploit identified at time of analysis; the underlying issue is a path-traversal flaw (CWE-22) fixed in version 0.22.0, and the practical risk is bounded more by who actually deploys this MCP server over the network than by exploit maturity.
RemediationAI
Upgrade to the vendor-released patched version 0.22.0 (release v0.22.0, PR 1448, commit b041733473f95119dd539542a43c280737a8e460), which replaces the unconstrained os.path.abspath handling of upload_attachment's file_path with validate_safe_path(), confining reads to the workspace and rejecting traversal and escaping absolute paths; the same release also adds SSRF redirect validation/DNS pinning, makes the configured spaces allowlist non-overridable by caller arguments, and blocks attachment downloads into the working-directory root. If immediate upgrade is not possible, the most effective compensating control is to stop exposing the streamable HTTP transport: run the server over stdio only, or bind the HTTP endpoint to loopback and place it behind an authenticating reverse proxy that injects a verified per-user identity, since removing the identity-less path defeats the operator-credential fallback but restricts legitimate multi-user/remote agent use. If HTTP transport must stay enabled, disable reuse of global operator credentials so every request must present a valid per-user token (the trade-off is that unauthenticated or misconfigured clients will fail rather than silently run as the operator), and combine this with network ACLs/firewall rules limiting the MCP port to trusted agent hosts. Additionally, run the MCP process under a dedicated least-privilege service account with a narrow, read-only filesystem view (container, chroot, or read-only bind mounts excluding secrets, SSH material, .env files, and cloud credential stores) - this reduces what the arbitrary read can lift even if the traversal is triggered, though it does not remove the flaw. To detect prior abuse, audit Jira issues and Confluence pages created by the operator account for unexpected attachments, and review MCP HTTP access logs for requests lacking a user identity; validate any existing deployments against the advisory GHSA-cc5h-2pwp-pvcc before closing out.
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 Model Context Protocol server that exposes Atlassian Confluence and Jira operations as tools to MCP clients (AI agents/IDEs). Two flaws chain here. First, the streamable HTTP transport path does not require a caller identity: requests arriving without one are passed through UserTokenMiddleware and then fall back to the operator's global credentials, so the middleware becomes a privilege amplifier rather than a gate - any network client reaching the endpoint inherits the server's Atlassian identity. Second, the upload_attachment tool in both the Confluence (confluence/attachments.py) and Jira (jira/attachments.py) code paths takes a caller-supplied file_path, and the pre-fix code merely converted relative paths to absolute (os.path.abspath) without confining them to a workspace, so '..' sequences and absolute paths escape the working directory - the classic CWE-22 path traversal root cause, here coupled with _get_fetcher to read the file and the Atlassian upload API to stage it remotely. The 0.22.0 fix replaces the abspath conversion with validate_safe_path(file_path), which rejects traversal and escaping absolute paths before the file is read. The same pull request bundles adjacent hardening consistent with this class of bug: SSRF response hooks and DNS pinning (mount_ssrf_pinning) on the Confluence session to close validate-then-reconnect TOCTOU and redirect-based SSRF, mandatory ANDing of the configured spaces allowlist (caller-supplied spaces_filter can only narrow, never replace, the operator's boundary), and a refusal to download attachments into the working-directory root where a written file could shadow an importable module. The CPE cpe:2.3:a:sooperset:mcp-atlassian:*:*:*:*:*:*:*:* matches every release before 0.22.0. Note also the published CVSS 8.6 uses S:C (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N); our independent assessment scopes the impact to the MCP process only and rates it S:U (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N), a high-severity confidentiality-only arbitrary file read.
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:C/C:H/I:N/A:N
Unauthenticated network exploit via HTTP operator-cred fallback (PR:N, AV:N, AC:L); confidentiality-only file exfiltration (C:H, I:N, A:N); impact stays within the MCP process authority so S:U rather than vendor's S:C.
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, the streamable HTTP transport accepts requests without a user identity and falls back to operator credentials, while upload_attachment accepts an unrestricted file_path. An unauthenticated network caller can read files available to the MCP process, upload them to an attacker-selected Jira issue or Confluence page, and retrieve the contents. The advisory traces the vulnerable input and processing flow through streamable-http, UserTokenMiddleware, upload_attachment, file_path, and _get_fetcher, which identify the affected entry points, controls, and code paths. This issue is fixed in version 0.22.0.
Technical POC Analysis
The advisory describes a two-bug chain; the CVE description flattens it to CWE-22, while the GHSA text attributes it to CWE-306 (missing authentication) chained to CWE-73/CWE-22 (external control of…
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Deployments of MCP Atlassian (sooperset/mcp-atlassian) that expose the streamable HTTP transport while relying on shared operator Atlassian credentials are exposed to arbitrary file read, letting a remote caller push the contents of any file readable by the MCP process into a Jira issue or Confluence page they control. The data at risk is whatever the integration process can read - potentially API tokens, configuration files, and other secrets that grant further access to Atlassian and connected systems. No vendor-released patch is available and no public exploit has been identified at time of analysis, but the exposure is confined to a specific, identifiable deployment pattern that leadership should have located and contained promptly.
No vendor-released patch identified at time of analysis. Interim mitigations: disable the streamable HTTP transport or restrict it to trusted networks (stdio-only deployments are not exposed); enforce per-user identity/tokens so requests without user identity are rejected instead of falling back to shared operator credentials; run the MCP process under a least-privileged account with read access limited to required paths; rotate shared Atlassian operator credentials; and monitor Jira/Confluence attachment uploads and MCP host egress for exfiltration attempts.
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
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
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
Information disclosure in MCP Atlassian (sooperset/mcp-atlassian) before 0.22.0 allows an authenticated caller of the MC
EUVD-2026-84763
GHSA-cc5h-2pwp-pvcc
NVD
CVE.org
EPSS
Exploit-DB