Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain local account/process on host
-
DeliveryRead group/world-readable oauth-<client_id>.json
-
ExploitExtract access + refresh tokens
-
ExecutionReplay tokens to Atlassian session
-
ImpactAccess/exfiltrate Confluence/Jira data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V13 - Configuration Permission assignment review
|
| Exploitation Conditions | Requires an attacker with an existing LOCAL presence (a separate user account or a co-resident process) on the host running MCP Atlassian, AND the OAuth fallback token directory ~/.mcp-atlassian plus oauth-<client_id>.json must have been created with group- or world-readable permission bits (i.e. a permissive process umask, not owner-only 0600/0700 modes). Exploitation is limited to deployments using OAuth token-file fallback on a multi-user or multi-process host; single-user hosts with a restrictive umask are not exposed. No network access, no user interaction, and no Atlassian credentials are needed beyond reading the file - the stolen refresh token itself provides continued Atlassian access. Not exploitable remotely and not against a single-tenant default deployment. |
| Impact | This is a genuinely low-to-moderate priority local information-disclosure issue that the vendor CVSS (5.5, CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) captures accurately. The AV:L attack vector is the dominant limiting factor: exploitation requires an attacker who is ALREADY a local user or process on the same host running the MCP Atlassian server, plus a permissive umask/directory mode that leaves ~/.mcp-atlassian and oauth-<client_id>.json group- or world-readable. There is no EPSS score, no CISA KEV listing, and no public exploit - so exploitation status is 'no public exploit identified at time of analysis.' The signals are internally consistent (local, low-complexity, requires an existing foothold, confidentiality-only), so there is no CVSS-vs-description conflict to flag. The one place I diverge from the vendor is impact scope: the leaked artifact is a refresh+access token that grants a full reusable Atlassian session, so downstream integrity impact on Atlassian data is plausible (I lean C:H/I:L), but the primary vulnerability is disclosure. Overall this is a defense-in-depth hardening fix, not an urgent remotely-exploitable flaw - real priority is low absent a multi-user host with an existing local adversary. |
| Exploit ScenarioDerived | On a shared or multi-tenant host running MCP Atlassian with a permissive umask, a second local user (or a compromised low-privilege process) reads the world/group-readable ~/.mcp-atlassian/oauth-<client_id>.json, extracts the access_token and refresh_token, and replays them to impersonate the victim's authenticated Atlassian (Confluence/Jira) session. No public proof-of-concept is available, and exploitation requires prior local access plus a non-default permission bit, consistent with the AV:L/PR:L/AC:L vector. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 22, 2026
Local credential disclosure in MCP Atlassian (sooperset/mcp-atlassian) prior to 0.22.0 allows a co-resident local user or process to read stored Atlassian OAuth access and refresh tokens and reuse the associated Atlassian session. The server creates its ~/.mcp-atlassian directory and the oauth-<client_id>.json token file without explicit owner-only permission modes (CWE-732), so the resulting group- or world-readable bits - an artifact of a permissive process umask - expose the tokens to anyone with read access on the host; the CVSS vector (AV:L/PR:L) confirms this requires an existing local account and no network reachability. Only multi-user or multi-process hosts that rely on the OAuth token-file fallback are exposed; single-user hosts with a restrictive umask are not. No public exploit identified at time of analysis, and the vendor CVSS of 5.5 understates impact only marginally - the independent assessment adds a low integrity component (I:L) because a stolen refresh token can also be used to act within the victim's Atlassian tenant. The issue is fixed in version 0.22.0.
RemediationAI
Vendor-released patch: MCP Atlassian 0.22.0 - upgrade to this version (release tag v0.22.0 at https://github.com/sooperset/mcp-atlassian/releases/tag/v0.22.0), which incorporates the fix commit b041733473f95119dd539542a43c280737a8e460 and the hardening merged in PR https://github.com/sooperset/mcp-atlassian/pull/1448; the authoritative advisory is GHSA-4596-2p6p-28cv. If an immediate upgrade is not possible, compensating controls are effective but must be applied manually and re-applied after any token regeneration: run the server under a dedicated service account on a single-tenant host so no other local user exists to read the file (side effect: eliminates multi-user deployment patterns such as shared CI runners), and start the process with a restrictive umask (umask 077) so newly created files cannot become group- or world-readable (side effect: also tightens permissions on every other file that process creates, which can break tools expecting shared artifacts). Because the fix only changes creation-time modes, existing installs need explicit chmod 700 ~/.mcp-atlassian and chmod 600 ~/.mcp-atlassian/oauth-*.json, or deletion of the directory so it is recreated at 0.22.0. Finally, assume any pre-patch host that was multi-user or had permissive bits leaked its secrets: revoke the affected Atlassian OAuth grants and re-authorize so previously readable refresh tokens become unusable, accepting the brief re-authentication outage. There is no vendor indicator of active exploitation and no public exploit code identified at time of analysis, so these steps are precautionary rather than incident-response urgent.
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 Model Context Protocol server that brokers Confluence and Jira operations for MCP clients; when it runs headless or in fallback mode it persists OAuth credentials on disk rather than holding them only in memory. The vulnerable flow creates the token directory ~/.mcp-atlassian and the JSON file oauth-<client_id>.json using default process permissions instead of explicit owner-only modes, which is the classic CWE-732 (Incorrect Permission Assignment for Critical Resource) failure: the security of the secret depends on the ambient umask rather than on the code enforcing 0700/0600. Inside that JSON, the access_token and refresh_token fields are the crown jewels - the refresh token in particular is a long-lived bearer artifact that yields continued Atlassian Cloud API access without requiring the victim's password or MFA interaction. The CPE cpe:2.3:a:sooperset:mcp-atlassian:*:*:*:*:*:*:*:* carries no version bounds, so treat all builds before 0.22.0 as in scope. Notably, the linked fix commit and PR 1448 bundle additional hardening in adjacent code paths (workspace confinement for attachment uploads via validate_safe_path, SSRF redirect hooks and DNS pinning for Confluence sessions, ANDing rather than replacing the configured spaces allowlist in CQL search, and refusing attachment downloads into the working-directory root to avoid import hijacking), indicating the maintainers treated token-file permissions as part of a broader security regression sweep.
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:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Local vector and PR:L because the attacker needs an existing local account/process; C:H for full token disclosure and I:L because refresh-token reuse enables Atlassian writes; A:N.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
MCP Atlassian is a Model Context Protocol (MCP) server for Atlassian products (Confluence and Jira). Prior to 0.22.0, the OAuth fallback token directory and JSON file are created without explicit owner-only modes. Local users or processes with access through the resulting group or world permission bits can read access and refresh tokens and reuse the associated Atlassian session. The advisory traces the vulnerable input and processing flow through ~/.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
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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-84757
GHSA-4596-2p6p-28cv
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB