CVE-2026-77260: MCP Atlassian: path traversal in upload_attachment
GHSA-f4p7-qx46-wc5jHIGHPoC AVAILABLECISA: ATTENDMCP Atlassian, the MCP server that connects AI agents to Jira and Confluence, accepts an unrestricted file_path in its upload_attachment tools, so any permitted MCP caller can make the server read arbitrary local files and push them into an Atlassian page or issue, where they can then be retrieved. This is a high-severity path traversal (CWE-22) with a public PoC and a CISA SSVC decision of ATTEND. EPSS is low in absolute terms (0.00349) but sits in the top 74% percentile. It is not in CISA KEV and no Nuclei template exists. The package has only 1 tracked downstream dependent but 38 other CVEs, which signals a weak security track record. The practical risk is amplified because a prompt-injected agent can trigger the tool call without a human attacker holding direct credentials. Upgrade mcp-atlassian to 0.22.0 or later, and review which agents and users hold Atlassian write access through MCP.
What is the risk?
High. Exploitation is low complexity: the attacker only needs the ability to invoke upload_attachment, directly or by steering an LLM agent through prompt injection. A public PoC exists and SSVC says ATTEND. EPSS is low (0.00349, ~74th percentile) and there is no KEV listing or scanner template, so mass exploitation is not currently observed. Impact is mainly confidentiality: any file readable by the MCP server process (SSH keys, .env files, cloud credentials, tokens) can be exfiltrated. Exposure is highest where the MCP server runs on developer workstations or shared agent hosts with sensitive files and broad filesystem access.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| MCP Atlassian | pip | < 0.22.0 | 0.22.0 |
Do you use MCP Atlassian? You're affected.
How severe is it?
What should I do?
1 step1) Upgrade mcp-atlassian to 0.22.0 or later (fix in PR #1448, commit b041733). 2) Until patched, disable or block the upload_attachment tools in the MCP client tool allowlist, or run the server in read-only mode if supported. 3) Run the MCP server in a container or sandbox with a minimal filesystem, no home directory mounts, and no secrets in its environment. 4) Use least-privilege Atlassian tokens scoped to required projects. 5) Detection: audit Jira and Confluence for unexpected attachments (especially .env, id_rsa, config files, credentials), and review MCP server and agent logs for upload_attachment calls with absolute paths or ../ sequences. 6) Rotate any credentials that may have been exposed.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-77260?
MCP Atlassian, the MCP server that connects AI agents to Jira and Confluence, accepts an unrestricted file_path in its upload_attachment tools, so any permitted MCP caller can make the server read arbitrary local files and push them into an Atlassian page or issue, where they can then be retrieved. This is a high-severity path traversal (CWE-22) with a public PoC and a CISA SSVC decision of ATTEND. EPSS is low in absolute terms (0.00349) but sits in the top 74% percentile. It is not in CISA KEV and no Nuclei template exists. The package has only 1 tracked downstream dependent but 38 other CVEs, which signals a weak security track record. The practical risk is amplified because a prompt-injected agent can trigger the tool call without a human attacker holding direct credentials. Upgrade mcp-atlassian to 0.22.0 or later, and review which agents and users hold Atlassian write access through MCP.
Is CVE-2026-77260 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2026-77260, increasing the risk of exploitation.
How to fix CVE-2026-77260?
1) Upgrade mcp-atlassian to 0.22.0 or later (fix in PR #1448, commit b041733). 2) Until patched, disable or block the upload_attachment tools in the MCP client tool allowlist, or run the server in read-only mode if supported. 3) Run the MCP server in a container or sandbox with a minimal filesystem, no home directory mounts, and no secrets in its environment. 4) Use least-privilege Atlassian tokens scoped to required projects. 5) Detection: audit Jira and Confluence for unexpected attachments (especially .env, id_rsa, config files, credentials), and review MCP server and agent logs for upload_attachment calls with absolute paths or ../ sequences. 6) Rotate any credentials that may have been exposed.
What systems are affected by CVE-2026-77260?
This vulnerability affects the following AI/ML architecture patterns: agent frameworks, MCP servers, tool-calling LLM agents, developer AI assistants.
What is the CVSS score for CVE-2026-77260?
No CVSS score has been assigned yet.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0037Data from Local SystemAML.T0053AI Agent Tool InvocationAML.T0055Unsecured CredentialsAML.T0085.001AI Agent ToolsAML.T0086Exfiltration via AI Agent Tool InvocationCompliance Controls Affected
What are the technical details?
Original Advisory
MCP Atlassian is a Model Context Protocol (MCP) server for Atlassian products (Confluence and Jira). Prior to 0.22.0, the Confluence and Jira upload_attachment implementations accept an unconstrained file_path and open the referenced server-local file. A permitted MCP caller can upload sensitive host files to an Atlassian destination and then retrieve their contents. The advisory traces the vulnerable input and processing flow through upload_attachment, file_path, and CVE-2026-27825, which identify the affected entry points, controls, and code paths. This issue is fixed in version 0.22.0.
Exploitation Scenario
An attacker plants a malicious instruction in a Jira ticket comment or Confluence page that an engineering AI assistant later reads. The injected prompt tells the agent to call upload_attachment with file_path set to ~/.aws/credentials or the server's .env file, attaching it to a ticket the attacker can view. The vulnerable MCP server opens the local file and uploads it without validating the path. The attacker then downloads the attachment from Atlassian, obtains cloud credentials, and pivots into the organization's infrastructure. A malicious or compromised MCP user with direct tool access can perform the same steps without prompt injection.
Weaknesses (CWE)
CWE-22Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')PrimaryCWE-22Improper Limitation of a Pathname to a Restricted DirectoryCWE-22 — Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal'): The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.
- [Implementation] Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does. When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue." Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylis
- [Architecture and Design] For any security checks that are performed on the client side, ensure that these checks are duplicated on the server side, in order to avoid CWE-602. Attackers can bypass the client-side checks by modifying values after the checks have been performed, or by changing the client to remove the client-side checks entirely. Then, these modified values would be submitted to the server.
Source: MITRE CWE corpus.
References
- github.com/sooperset/mcp-atlassian/commit/b041733473f95119dd539542a43c280737a8e460x_refsource_MISC
- github.com/sooperset/mcp-atlassian/pull/1448x_refsource_MISC
- github.com/sooperset/mcp-atlassian/releases/tag/v0.22.0x_refsource_MISC
- github.com/sooperset/mcp-atlassian/security/advisories/GHSA-f4p7-qx46-wc5jx_refsource_CONFIRM
- github.com/advisories/GHSA-f4p7-qx46-wc5j
- nvd.nist.gov/vuln/detail/CVE-2026-77260
Timeline
Related Vulnerabilities
CVE-2026-7724410.0MCP Atlassian: unauthenticated access to operator Jira/Confluence
Same package: mcp-atlassianCVE-2026-772549.1MCP Atlassian: missing auth exposes Jira/Confluence
Same package: mcp-atlassianCVE-2026-278259.1mcp-atlassian: Path Traversal enables file access
Same package: mcp-atlassianCVE-2026-772438.8MCP Atlassian: missing authz lets clients call hidden tools
Same package: mcp-atlassianCVE-2026-772628.6mcp-atlassian: path traversal enables arbitrary file read
Same package: mcp-atlassian