CVE-2026-77255: MCP Atlassian: Arbitrary File Read & Exfiltration (Confused Deputy) in JIRA update_issue
In mcp-atlassian before 0.22.0, the `attachments` argument of the Jira `update_issue` tool accepts absolute paths, so a sandboxed AI agent can make the MCP process attach files like `/proc/self/environ` to a ticket. That leaks the Jira API token and other host secrets. Fixed in 0.22.0.
Published Sep 22, 2026 · Analysis Oct 22, 2026
What an attacker can do
This is a confused-deputy flaw. The MCP server usually runs with more rights than the agent that calls it: it holds JIRA_API_TOKEN and can read parts of the filesystem the agent cannot. The update_issue handler passes each entry in attachments straight to the Jira upload call. It does not confine paths to a workspace and does not reject ../ sequences.
The reporter's proof of concept ran the agent as a restricted Unix user. A call with attachments set to /proc/self/environ made the server read its own environment, token included, and attach it to issue SECURITY-1. A second call pointed at an assistant config file in a home directory and uploaded tokens for other services.
The attacker needs the ability to call the tool, either as a user of the MCP server or as a prompt injection that steers the agent. They then read the attachment in Jira. What they get is credentials and any file the server user can read, such as SSH keys, databases and source code. That lets them move from a restricted agent sandbox to broader access.
Who is affected
mcp-atlassian versions below 0.22.0. The exposure is greatest where the MCP server runs under a different, more privileged account than the agent, or holds secrets in its environment.
pip show mcp-atlassianFor uvx or Docker setups, check the version or tag your MCP client config launches.
mcp-atlassian
- Ecosystem
- PyPI
- Affected
- < 0.22.0
- Fixed in
- 0.22.0
- Check
pip show mcp-atlassian
How to fix it
Upgrade to 0.22.0, the patched version:
pip install --upgrade mcp-atlassian==0.22.0The change is in pull request 1448. The advisory names no workaround. After upgrading, rotate the Jira API token and any secret that was in the server's environment or readable by its user if you suspect the tool was abused.
How to tell if you were hit
Open Jira issues the MCP service account edited and look for attachments named environ, config.yaml, .env, key files or similar. Check the Jira audit log for attachment uploads by that account. In MCP server or agent logs, search update_issue calls whose attachments list holds absolute paths or /proc/. Beam records agent MCP tool calls, and its rules can flag them, so those calls would show in the session record.
Original advisory
From the GitHub Advisory Database (CC BY 4.0).
Summary
A critical Confused Deputy (Arbitrary File Read & Exfiltration) vulnerability in the Atlassian MCP server (Python) allows an AI agent to exfiltrate sensitive host files and environment secrets. By providing absolute system paths to the attachments parameter of the update_issue tool, an agent can force the privileged MCP process to read and upload any file it has access to—including its own environment variables and host configuration—directly to a Jira ticket.
Details
The vulnerability is located in the update_issue tool handler. The attachments parameter accepts a list of file paths that are passed directly to the Jira API's upload method without any sanitization or validation.
Specifically, the implementation fails to:
- Restrict paths to a safe workspace: It accepts absolute paths starting with /.
- Prevent directory traversal: It does not filter for ../ sequences.
- Validate ownership: It allows the process to read system-level files (like /proc/self/environ) that the calling agent is normally forbidden from accessing due to sandbox restrictions.
Because the MCP server typically runs with higher privileges than the AI agent (holding the JIRA_API_TOKEN and having wider filesystem access), it acts as a "Confused Deputy," performing exfiltration on behalf of a restricted agent.
PoC
To reproduce the vulnerability in an environment where the agent is sandboxed (e.g., as a restricted Unix user) but the MCP server has host-level access:
- Exfiltrate MCP Secrets: The agent calls the update_issue tool with the following payload: { "issue_key": "SECURITY-1", "attachments": ["/proc/self/environ"] } Result: The MCP server reads its own process environment—containing the JIRA_API_TOKEN and other sensitive keys in plain text—and attaches it to the Jira issue.
- Exfiltrate Host Configuration: The agent calls the tool to target global assistant settings: { "issue_key": "SECURITY-1", "attachments": ["/home/hermes/.hermes/config.yaml"] } Result: The host's global configuration file (containing tokens for GitLab, Slack, and other services) is successfully exfiltrated to the cloud.
Impact
- Critical Credential Theft: Immediate exposure of the JIRA_API_TOKEN and any other secrets injected into the MCP server's environment.
- Arbitrary File Access: Total exfiltration of any data the host user running the MCP server can read (SSH keys, databases, local source code).
- Privilege Escalation & Lateral Movement: Attackers can move from a restricted AI sandbox to full host-system control by stealing tokens or configuration files.
Credited to aurelienp-alt.
Questions
- What makes this a confused deputy problem?
The agent is sandboxed and cannot read
/proc/self/environitself. The MCP server can, and it does the read and upload on the agent's behalf without checking the path.- Which secrets are at risk?
Anything in the MCP process environment, including
JIRA_API_TOKEN, plus any file the server's user can read, such as SSH keys or other tools' config files.- Is CVE-2026-77255 the same as the other mcp-atlassian upload advisories?
It is the same class, unvalidated upload paths, fixed in the same 0.22.0 release. This one is reported through the
update_issuetool and the confused-deputy angle.- Is it exploited in the wild?
No source reports that, and it is not in CISA's KEV catalog.
References
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. The analysis is written by an AI model from the sources listed above and checked by automated rules before it is published. Check versions against the vendor's advisory before you act. Methodology
More Other MCP servers and tools vulnerabilities
All Other MCP servers and tools entriesCVE-2026-77361
obsidian-tc : Symlink read-ACL scope bypass via lexical path checks
medium4.7Oct 23, 2026CVE-2026-114126
Storybook dev server vulnerable to code injection from the local network
high8.7Oct 22, 2026CVE-2026-113731
djust: Arbitrary absolute-path file read in the find_handlers_for_template MCP tool
low3.3Oct 21, 2026CVE-2026-114125
Storybook: Missing origin validation in Storybook preview allows code injection from malicious websites
critical9.4Oct 21, 2026CVE-2026-111770
MCP TypeScript server SDK: Shared transport or server instances delivered one HTTP client's messages to another
high7.7Oct 20, 2026GHSA-953h-535j-jg2v
agent-router: MCP session resume does not verify the embedded anti-hijacking subject; default Helm seed makes session IDs forgeable
medium6.8Oct 19, 2026
