Skip to main content

MCP Atlassian EUVDEUVD-2026-84619

| CVE-2026-77250 MEDIUM
Cleartext Storage of Sensitive Information (CWE-312)
2026-09-22 GitHub_M GHSA-g5xv-mhgm-v5f6
6.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain local account on shared host
  2. Delivery
    Locate ~/.mcp-atlassian/oauth-<client_id>.json
  3. Exploit
    Read world/group-readable token file
  4. Execution
    Extract access and refresh tokens
  5. Impact
    Reuse tokens to access victim's Atlassian data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V14 - Data Protection Encrypted storage of sensitive data
Exploitation Conditions

Requires: (1) an attacker with an existing local account or local process on the same host running mcp-atlassian; (2) a permissive umask so that OAuthConfig._save_tokens writes ~/.mcp-atlassian/oauth-<client_id>.json readable by same-group or other users (process-default permissions, no explicit 0600 restriction pre-0.22.0); and (3) that the OAuth plaintext-fallback token file has actually been created (OAuth flow used rather than keyring/env-only). It is NOT remotely exploitable and NOT exploitable on a single-user host with a restrictive default umask (e.g. 0077). The impact of disclosure extends to durable Atlassian access because the refresh_token is stored, enabling token renewal beyond the initial access_token lifetime.

Impact

This is a genuinely LOW-priority issue despite the CVSS 6.1 (Medium) rating. The CVSS vector CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N confirms a purely LOCAL attack vector requiring existing low-privilege access to the host - this is not remotely exploitable. No EPSS score, no CISA KEV listing, and no public exploit code are present, so exploitation status is 'no public exploit identified at time of analysis.' The high confidentiality impact (C:H) is real - plaintext OAuth access AND refresh tokens are disclosed, granting durable reuse of the victim's Atlassian access - but it is entirely gated behind two non-default preconditions: a permissive umask on the host AND a shared/multi-user system where another local account or process can read the file. There is no signal conflict, but note the CVSS itself is vendor/GitHub_M-assigned (GitHub_M advisory), not NVD-analyzed, and the I:L rating reflects downstream Atlassian token reuse rather than direct integrity impact on the host. On a single-user workstation with a default umask this is effectively non-exploitable, which is why the practical priority is low even though token compromise sounds severe.

Exploit ScenarioDerived

On a shared Linux host running mcp-atlassian under an operator account with a permissive umask (e.g. 0022 or looser), the server persists a fallback token file at ~/.mcp-atlassian/oauth-<client_id>.json with world- or group-readable permissions. A second local user or a co-tenant process reads the file, extracts the plaintext access_token and refresh_token, and reuses them to impersonate the operator's Confluence/Jira access. No public exploit code is required - reading a readable file is trivial once local access exists.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 22, 2026

Plaintext storage of Atlassian OAuth credentials in MCP Atlassian before 0.22.0 lets any local user or process that can read the persisted token file recover live access and refresh tokens and reuse them against Confluence and Jira. The vulnerable code path is OAuthConfig._save_tokens, which writes ~/.mcp-atlassian/oauth-<client_id>.json using process-default permissions; on a host with a permissive umask, same-group or other local accounts can read it. Exploitation requires a pre-existing local foothold, a permissive umask, and that the OAuth plaintext-fallback file was actually created - it is not remotely exploitable and is not exposed on single-user hosts with a restrictive umask; no public exploit code was identified at time of analysis and this CVE is not in CISA KEV.

RemediationAI

Vendor-released patch: upgrade mcp-atlassian to 0.22.0 (https://github.com/sooperset/mcp-atlassian/releases/tag/v0.22.0, fix commit b041733473f95119dd539542a43c280737a8e460, advisory GHSA-g5xv-mhgm-v5f6); no backport to earlier versions is indicated, so upgrading is the primary action. Because tokens may already have been readable before remediation, treat them as compromised: revoke the affected Atlassian OAuth grants and refresh tokens in the Atlassian account or app authorization settings and re-run the OAuth flow after upgrading, since rotating only the access token leaves the persistent refresh token usable. If immediate upgrade is impossible, the practical compensating controls are to remove or chmod 600 every existing ~/.mcp-atlassian/oauth-*.json file (this blocks further casual reads but does not help if the file was already copied, and the mode will revert on the next token refresh), run the server under an account whose umask is 0077 or stricter (trades off convenience for any files the same process creates), configure the keyring-backed credential store instead of the plaintext fallback so no token file is written at all (requires a working keyring/secret service in the execution environment, which containerized or headless deployments often lack), and on shared hosts restrict the server's user group membership and filesystem ACLs on the home directory so same-group accounts cannot traverse into ~/.mcp-atlassian. Restricting local login to the server account is an effective but operationally heavy boundary control, and blocking network egress for the server is not a relevant mitigation here because the weakness is local credential disclosure rather than remote exploitation.

Affected VersionsENISA

mcp-atlassian < 0.22.0

Affected Packages

pypi mcp-atlassian fix: 0.22.0

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

The root cause is CWE-312 (Cleartext Storage of Sensitive Information). MCP Atlassian is a Model Context Protocol server that brokers tool calls to Atlassian Confluence and Jira, and it authenticates to those services using OAuth client credentials. When the platform keyring is unavailable or not selected, OAuthConfig falls back to writing tokens to disk via OAuthConfig._save_tokens, serializing access_token and refresh_token into ~/.mcp-atlassian/oauth-<client_id>.json. The defect is not the fallback itself but the file mode: the file is created with process-default permissions rather than an explicit owner-only mode such as 0600, so the effective access control is inherited from the invoking process's umask. Under a permissive umask, the resulting mode permits group and possibly world read. Because the refresh_token is persisted alongside the access token, disclosure yields durable access - an attacker can mint fresh access tokens after the original expires instead of being limited to a short-lived credential window. The CPE entry cpe:2.3:a:sooperset:mcp-atlassian:*:*:*:*:*:*:*:* covers all releases prior to the fixed version. The CVSS vector CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N reflects a local attack path requiring low privileges, no user interaction, and high confidentiality impact with limited integrity impact from misuse of the stolen bearer tokens.

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

Vendor (GitHub_M) PRIMARY 6.1 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
vuln.today AI 6.1 MEDIUM

Local file disclosure (AV:L) needing an existing low-priv local account (PR:L); C:H for full access+refresh token exposure; I:L reflects downstream Atlassian token reuse; A:N.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
Low
Availability
None

Lifecycle Timeline

1
Patch available
Sep 22, 2026 - 19:02 EUVD

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.1%
Top 99% exploitable
Prevalence
Low
niche open-source Python MCP server for Atlassian, small deployment footprint
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

50
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2026-77274 HIGH POC
8.8 Sep 22

Server-side request forgery in MCP Atlassian (the Model Context Protocol server for Confluence and Jira) prior to 0.22.0

CVE-2026-77243 HIGH POC
8.8 Sep 22

MCP Atlassian (sooperset/mcp-atlassian) before 0.22.0 applies its ENABLED_TOOLS and TOOLSETS least-privilege filters onl

CVE-2026-77262 HIGH POC
8.6 Sep 22

Path traversal in MCP Atlassian releases prior to 0.22.0 lets a caller of the confluence_upload_attachment MCP tool read

CVE-2026-77248 HIGH POC
8.6 Sep 22

Unauthenticated arbitrary file read in MCP Atlassian (sooperset/mcp-atlassian) before 0.22.0 lets a remote network calle

CVE-2026-77255 HIGH POC
8.6 Sep 22

Arbitrary local file read leading to data exfiltration affects sooperset's MCP Atlassian server (mcp-atlassian) prior to

CVE-2026-77246 HIGH POC
8.6 Sep 22

Unauthenticated server-local file exfiltration in MCP Atlassian (sooperset/mcp-atlassian) before 0.22.0 allows a remote

CVE-2026-77261 HIGH POC
8.5 Sep 22

Server-side request forgery in MCP Atlassian prior to 0.22.0 lets an attacker who controls or has already compromised th

CVE-2026-77271 HIGH POC
8.3 Sep 22

MCP Atlassian (sooperset/mcp-atlassian) before 0.22.0 lets a low-privileged authenticated MCP caller write attacker-chos

CVE-2026-77267 HIGH POC
8.3 Sep 22

Server-side request forgery in MCP Atlassian (sooperset/mcp-atlassian) before 0.22.0 allows a low-privileged authenticat

CVE-2026-77257 HIGH POC
8.3 Sep 22

Arbitrary local file read in MCP Atlassian (mcp-atlassian) prior to 0.22.0 allows an authenticated MCP caller who can re

CVE-2026-77260 HIGH POC
8.3 Sep 22

Arbitrary server-local file read and exfiltration in MCP Atlassian (sooperset/mcp-atlassian) prior to 0.22.0 lets an aut

CVE-2026-77247 HIGH POC
8.3 Sep 22

Path traversal in the MCP Atlassian server (mcp-atlassian) prior to 0.22.0 allows an authenticated MCP client to read fi

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy