Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain permitted Confluence MCP caller access
-
DeliveryCall upload_attachment with out-of-workspace file_path
-
ExploitServer opens arbitrary local file unrestricted
-
ExecutionFile uploaded as Confluence attachment
-
ImpactDownload attachment to exfiltrate host data
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 attacker to be an authenticated/permitted Confluence MCP caller (PR:L) with access to the upload_attachment tool of an MCP Atlassian server prior to 0.22.0. Exploitation is most impactful in shared-credential or multi-tenant deployments where the MCP caller is less privileged than the server process and can therefore reach files the caller should not see. No user interaction is needed (UI:N). The limiting factor is caller authorization - an isolated single-user deployment where the caller already owns the host filesystem gains little. Impact is confined to disclosure of any file readable by the server process; there is no write/integrity or availability impact. |
| Impact | Moderate real-world priority. The vendor CVSS of 7.7 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N) is driven by network reachability, low complexity, and a scope change to High confidentiality - but the PR:L requirement is the key limiter: the attacker must already be a permitted Confluence MCP caller. There is no EPSS score, no CISA KEV listing, and no public POC, so this is 'no public exploit identified at time of analysis' rather than an actively exploited threat. The S:C (scope change) is defensible because the disclosed data is arbitrary server-local files readable by the MCP process (beyond the Atlassian data the caller is authorized for), but it is arguable - a conservative assessment could rate S:U with the same C:H, which would lower the score toward 6.5. This is a genuine confidentiality issue in shared-credential/multi-tenant MCP deployments, not an inflated high-CVSS-low-risk item, but its impact is bounded to file exfiltration (no I/A) and gated on caller privilege, so it is a patch-soon rather than patch-now emergency. No conflicting signals across sources; the source-code diff (PR#1448 adding validate_safe_path) directly corroborates the described root cause. |
| Exploit ScenarioDerived | A user or automated agent granted access to a shared MCP Atlassian server (e.g. a low-privilege tenant on a multi-tenant deployment) invokes the upload_attachment tool with a crafted file_path such as '/etc/passwd', '../../.env', or an absolute path to service credentials on the server host. The tool opens that server-local file without confining it to the workspace, uploads it as a Confluence page attachment, and the attacker then downloads the attachment back to exfiltrate any data readable by the server process. No public exploit code exists, but exploitation is trivial for any permitted caller given AC:L. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 22, 2026
Arbitrary server-local file disclosure in MCP Atlassian (sooperset/mcp-atlassian) prior to 0.22.0 lets an authenticated, permitted Confluence MCP caller read any file accessible to the server process by passing a traversal or absolute path to the upload_attachment tool and receiving the contents back as a published attachment. Exploitation requires only a valid MCP caller session (no user interaction, low privileges per PR:L), and the scope change in the CVSS vector reflects the server process acting as a confused deputy on behalf of the caller, yielding high confidentiality impact with no integrity or availability effect. There is no public exploit identified at time of analysis and no CISA KEV listing; the practical risk is highest in shared-credential or multi-tenant MCP deployments where the caller is less privileged than the server process, and is low in single-user deployments where the caller already owns the underlying filesystem. Vendor-released patch: 0.22.0.
RemediationAI
Upgrade to mcp-atlassian 0.22.0 or later (vendor-released patch: 0.22.0; release notes at https://github.com/sooperset/mcp-atlassian/releases/tag/v0.22.0, advisory at https://github.com/sooperset/mcp-atlassian/security/advisories/GHSA-93xw-j965-9mx3, code fix at https://github.com/sooperset/mcp-atlassian/commit/b041733473f95119dd539542a43c280737a8e460 via PR https://github.com/sooperset/mcp-atlassian/pull/1448). If upgrading immediately is not possible, the primary compensating control is to remove or disable the upload_attachment tool from the exposed MCP toolset until the server is patched - the trade-off is loss of legitimate attachment-upload functionality for all callers. In addition, run the MCP server under a dedicated low-privilege service account and in a container or namespace whose filesystem mounts are read-only and whose accessible paths contain no secrets (SSH keys, cloud credentials, dotenv files, source trees); this does not eliminate the traversal but sharply reduces what can be disclosed, at the cost of operational complexity for workflows that genuinely need local file access. Finally, restrict which callers can reach the upload_attachment tool (per-caller authentication, network allowlists, or a reverse proxy in front of the MCP endpoint), since the vulnerability is gated on caller authorization - the trade-off is that shared-credential deployments must be split into per-user credentials to enforce this meaningfully.
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 operations on behalf of MCP clients. The vulnerable function, upload_attachment in src/mcp_atlassian/confluence/attachments.py, accepted a caller-supplied file_path and only normalized it with os.path.abspath, which makes a relative path absolute against the current working directory but performs no confinement check - absolute paths and sequences such as ../ escape the intended workspace root entirely. Because the file is then uploaded to Confluence as an attachment and returned to the caller, the server process becomes a read primitive for anything it can open. This is a classic CWE-22 improper limitation of a pathname to a restricted directory, mapped here onto an agent/tool-calling architecture where an LLM-driven or API-driven caller controls the path argument. The fix in 0.22.0 replaces the abspath call with validate_safe_path, confining the source to the workspace. The same release bundles related hardening that shows the maintainers treated the MCP boundary itself as the trust boundary: SSRF response hooks and DNS pinning for Confluence sessions, an always-ANDed spaces_filter so a caller argument cannot replace the operator's allowlist, and a Jira download_attachment guard that refuses to write into the working-directory root to prevent module-overwrite code execution. Affected CPE is cpe:2.3:a:sooperset:mcp-atlassian:*:*:*:*:*:*:*:* (all versions before 0.22.0).
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:N/A:N
Network-reachable MCP tool, low complexity, requires a permitted caller (PR:L); reads host files beyond app scope (S:C, C:H); no integrity or availability 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, upload_attachment in src/mcp_atlassian/confluence/attachments.py accepts a caller-controlled file_path and opens the selected server-local file without restricting it to the workspace. A permitted Confluence MCP caller can upload the file as an attachment and disclose data readable by the server process. This issue is fixed in version 0.22.0.
Technical POC Analysis
CWE-22 (Improper Limitation of a Pathname to a Restricted Directory).
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 (sooperset/mcp-atlassian) versions prior to 0.22.0 allow an authenticated Confluence MCP caller to retrieve any file readable by the MCP server process - including configuration files, credentials, and other tenants' data - by abusing the upload_attachment tool. The exposure is most acute for organizations running shared-credential or multi-tenant MCP deployments, where the AI integration effectively becomes a trusted bridge between a low-privileged user and the host filesystem. Because the flaw yields high confidentiality impact with no integrity or availability effect, leadership should treat it as a data-leakage and secrets-exposure risk rather than an outage risk, and prioritize remediation for any internet- or broadly-reachable MCP endpoint.
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
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
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-84650
GHSA-93xw-j965-9mx3
NVD
CVE.org
EPSS
Exploit-DB