CVE-2026-77250: MCP Atlassian: cleartext OAuth token file readable locally
GHSA-g5xv-mhgm-v5f6MEDIUMPoC AVAILABLECISA: TRACK*MCP Atlassian versions before 0.22.0 save Atlassian OAuth access and refresh tokens in a plaintext JSON file under ~/.mcp-atlassian using process-default permissions. On hosts with a permissive umask, any local user or process in the same group, or any other local user, can read the file and reuse the tokens to reach the victim's Confluence and Jira data. Exploitation requires local access, so the risk is concentrated on shared developer workstations, build servers and multi-user jump hosts. Public PoC code exists and the EPSS percentile is high (top 99%), although the raw score is low (0.00108). The package has only 1 downstream dependent, so the blast radius is narrow, but 38 other CVEs in the same package point to a weak security track record. It is not in CISA KEV, and the SSVC decision is TRACK*. Upgrade to 0.22.0 or later, rotate any Atlassian tokens that were issued while the vulnerable version ran, and tighten the file permissions on existing token files.
What is the risk?
Medium (CVSS 6.1). The vector is local, with low complexity, low privileges and no user interaction. Confidentiality impact is high because stolen tokens give delegated access to Jira and Confluence content, and integrity impact is low. The main exposure factor is a permissive umask on multi-user systems. A refresh token extends the attacker's access beyond the lifetime of the access token. A public PoC exists and the EPSS percentile is high, but the absolute exploitation probability is low (EPSS 0.00108). The vulnerability is not in CISA KEV, and the SSVC decision is TRACK*.
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 is the attack surface?
What should I do?
1 step1) Upgrade mcp-atlassian to 0.22.0 or later (pip install -U mcp-atlassian). 2) Run chmod 600 on ~/.mcp-atlassian/oauth-*.json and chmod 700 on the ~/.mcp-atlassian directory, or set umask 077 for the service account. 3) Revoke and rotate Atlassian OAuth tokens and re-authorize after upgrading, since previously written files may have been read. 4) Audit Atlassian access logs for unusual API calls or new IP addresses using the agent's OAuth client. 5) Run the MCP server under a dedicated user and avoid shared home directories. 6) Use file integrity or access monitoring (auditd, EDR) on the token path. 7) Grant the OAuth app only the minimum scopes it needs.
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-77250?
MCP Atlassian versions before 0.22.0 save Atlassian OAuth access and refresh tokens in a plaintext JSON file under ~/.mcp-atlassian using process-default permissions. On hosts with a permissive umask, any local user or process in the same group, or any other local user, can read the file and reuse the tokens to reach the victim's Confluence and Jira data. Exploitation requires local access, so the risk is concentrated on shared developer workstations, build servers and multi-user jump hosts. Public PoC code exists and the EPSS percentile is high (top 99%), although the raw score is low (0.00108). The package has only 1 downstream dependent, so the blast radius is narrow, but 38 other CVEs in the same package point to a weak security track record. It is not in CISA KEV, and the SSVC decision is TRACK*. Upgrade to 0.22.0 or later, rotate any Atlassian tokens that were issued while the vulnerable version ran, and tighten the file permissions on existing token files.
Is CVE-2026-77250 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2026-77250, increasing the risk of exploitation.
How to fix CVE-2026-77250?
1) Upgrade mcp-atlassian to 0.22.0 or later (pip install -U mcp-atlassian). 2) Run chmod 600 on ~/.mcp-atlassian/oauth-*.json and chmod 700 on the ~/.mcp-atlassian directory, or set umask 077 for the service account. 3) Revoke and rotate Atlassian OAuth tokens and re-authorize after upgrading, since previously written files may have been read. 4) Audit Atlassian access logs for unusual API calls or new IP addresses using the agent's OAuth client. 5) Run the MCP server under a dedicated user and avoid shared home directories. 6) Use file integrity or access monitoring (auditd, EDR) on the token path. 7) Grant the OAuth app only the minimum scopes it needs.
What systems are affected by CVE-2026-77250?
This vulnerability affects the following AI/ML architecture patterns: agent frameworks, MCP servers, tool-integrated LLM assistants, developer workstations and CI hosts running AI agents.
What is the CVSS score for CVE-2026-77250?
CVE-2026-77250 has a CVSS v3.1 base score of 6.1 (MEDIUM). The EPSS exploitation probability is 0.11%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0037Data from Local SystemAML.T0055Unsecured CredentialsAML.T0083Credentials from AI Agent ConfigurationAML.T0091.000Application Access TokenCompliance 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, OAuthConfig writes a plaintext fallback file containing access and refresh tokens under the user's .mcp-atlassian directory using process-default permissions. On systems with a permissive umask, same-group or other local users and processes can read the persisted tokens and reuse the associated Atlassian access. The advisory traces the vulnerable input and processing flow through OAuthConfig._save_tokens, ~/.mcp-atlassian/oauth-<client_id>.json, access_token, and refresh_token, which identify the affected entry points, controls, and code paths. This issue is fixed in version 0.22.0.
Exploitation Scenario
A developer runs mcp-atlassian 0.21.x on a shared build host with umask 022 so that an AI coding agent can query Jira and Confluence. After OAuth authorization, the server writes ~/.mcp-atlassian/oauth-<client_id>.json containing the access and refresh tokens. A low-privileged local user, or a compromised process on the same host, reads the file. The attacker replays the tokens against the Atlassian APIs, pulls sensitive tickets and internal documentation, and uses the refresh token to keep access after the access token expires.
Weaknesses (CWE)
CWE-312Cleartext Storage of Sensitive InformationPrimaryCWE-312Cleartext Storage of Sensitive InformationCWE-312 — Cleartext Storage of Sensitive Information: The product stores sensitive information in cleartext within a resource that might be accessible to another control sphere.
- [Implementation, System Configuration, Operation] When storing data in the cloud (e.g., S3 buckets, Azure blobs, Google Cloud Storage, etc.), use the provider's controls to encrypt the data at rest. [REF-1297] [REF-1299] [REF-1301]
- [Implementation, System Configuration, Operation] In some systems/environments such as cloud, the use of "double encryption" (at both the software and hardware layer) might be required, and the developer might be solely responsible for both layers, instead of shared responsibility with the administrator of the broader system/environment.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:NReferences
- 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-g5xv-mhgm-v5f6x_refsource_CONFIRM
- github.com/advisories/GHSA-g5xv-mhgm-v5f6
- nvd.nist.gov/vuln/detail/CVE-2026-77250
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