Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain local account on host
-
DeliveryRead umask-exposed OAuth token file
-
ExploitExtract refresh and access tokens
-
ExecutionReplay refresh token to Atlassian
-
ImpactRetain persistent Confluence/Jira access
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V13 - Configuration Permission assignment review
|
| Exploitation Conditions | Requires the MCP Atlassian server (<0.22.0) to run on a multi-user/shared host AND the process umask to be permissive enough that the OAuth fallback token file (containing refresh + access tokens) is created group- or world-readable. The attacker must already have a separate local account on that host; there is no network vector despite the vendor's AV:N. Exploitation is limited to environments where the OAuth fallback-file storage path is actually used and other untrusted local users share the machine - single-user or properly-umasked deployments are not exposed. Impact persists via the refresh token even after credential rotation, which is the key limiting-yet-aggravating factor for defenders. |
| Impact | This is a local, multi-user token-exposure flaw (CWE-732) in the sooperset MCP Atlassian server: the plaintext OAuth fallback file holding refresh and access tokens is created with permissions inherited from the process umask, so a permissive or default umask leaves it world- or group-readable to other local accounts. The vendor CVSS 4.0 vector (8.3, AV:N/AC:L/PR:L/UI:N/VC:H/SC:H) overstates real-world risk: it labels the vector as Network (AV:N) and asserts a subsequent-system scope change (SC:H), but the description is unambiguous that the exploit requires OTHER LOCAL USERS on the same host to read the on-disk backup - this is local access, not network. A more defensible base score is ~6.1 (AV:L/PR:L/S:U, confidentiality-dominant). There is no EPSS score, no CISA KEV listing, and no public exploit code, so exploitation status is 'no public exploit identified at time of analysis.' Realistic priority is MODERATE-and-conditional: the impact (durable Atlassian access via a stolen refresh token, surviving password changes) is meaningful, but it is entirely gated on a shared/multi-tenant host with a permissive umask - not a default-config remote-unauth scenario. Treat the headline 8.3 as inflated; prioritize on the basis of whether the MCP server runs on a shared host. |
| Exploit ScenarioDerived | On a shared or multi-tenant host running the MCP Atlassian server, an unprivileged local user lists the OAuth fallback file whose permissions were left group/world-readable by a permissive umask, reads the stored refresh and access tokens, and replays the refresh token to obtain fresh Atlassian access as the operator's identity - retaining Confluence/Jira access even after the operator rotates their password. No public exploit code exists; the 'attack' is a simple file read requiring only an existing local account. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 22, 2026
MCP Atlassian servers before 0.22.0 write their plaintext OAuth fallback token file using permissions inherited from the process umask, so on a shared host with a permissive or default umask another local account can read the file and reuse the stored refresh and access tokens for Atlassian (Confluence/Jira) access. The flaw is a local, multi-user exposure rather than a remote one: the attacker must already hold a separate account on the same machine and the deployment must actually use the plaintext fallback storage path, which is why the independent assessment scores it CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N instead of the vendor's AV:N rating. Because the leaked refresh token keeps working even after access-token rotation, credential rotation alone does not close the exposure. No public exploit code has been identified at time of analysis, and the issue is fixed in the vendor-released version 0.22.0.
RemediationAI
Upgrade to MCP Atlassian 0.22.0 or later, which is the vendor-released patched version documented in GHSA-76pr-5669-3xf5 and https://github.com/sooperset/mcp-atlassian/releases/tag/v0.22.0 (upstream fix tracked by PR 1448, commit b041733473f95119dd539542a43c280737a8e460). Because the vulnerable artifact is a readable credential store, upgrading alone is insufficient: locate any existing plaintext OAuth fallback token file, set it to owner-only permissions (chmod 600) or delete it, and then revoke the Atlassian refresh and access tokens server-side, since a stolen refresh token continues to authorize access after the patched version is installed and a plain rotation of the running process does not invalidate the attacker's copy. Where immediate upgrade is not possible, run the MCP Atlassian process with a restrictive umask (for example, start it with umask 077 or the equivalent wrapper) so newly created token files are owner-only; the trade-off is that every other file the process creates also becomes owner-only, which can break shared tooling or log collection. Prefer a keyring-backed or otherwise non-plaintext token store over the fallback file if the deployment supports it, accepting that this may require interactive re-authentication on hosts lacking a usable keyring backend. Additional compensating controls include running the server under a dedicated service account in a container or VM with no other interactive local users, which removes the multi-user precondition entirely but does not by itself correct the file mode, and restricting host login rights so no untrusted local account shares the token-file directory. Operators should also review the 0.22.0 release notes for the bundled path-confinement and SSRF-hardening changes included with this fix, as those touches adjacent code paths in the same changeset.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
MCP Atlassian (sooperset/mcp-atlassian, CPE cpe:2.3:a:sooperset:mcp-atlassian) is a Python Model Context Protocol server that brokers tool calls between an MCP client and Atlassian Confluence and Jira APIs, authenticating to those services via OAuth. When keyring-backed storage is unavailable or not selected, the server falls back to persisting OAuth credentials in a plaintext file on disk through the OAuthConfig._save_tokens_to_file code path, where the refresh_token and access_token values are serialized verbatim. The root cause is CWE-732 (Incorrect Permission Assignment for Critical Resource): the file is created without an explicit restrictive mode, so its mode derives from the process umask; under a common 0022 umask the artifact becomes world-readable and under 0002 it becomes group-readable, exposing bearer credentials to any other local user. The advisory's flow trace (OAuthConfig._save_tokens_to_file -> refresh_token/access_token -> umask) confirms that the exposure is a permissions defect rather than a cryptographic or parsing flaw, and that the refresh token in particular grants durable Atlassian access that survives normal access-token expiry. The upstream fix reference (PR 1448 / commit b041733473f95119dd539542a43c280737a8e460, released as v0.22.0) also carries adjacent hardening in the same changeset, including confinement of attachment upload/download paths and SSRF redirect/DNS-pinning controls, so operators should treat 0.22.0 as a broader security release rather than a single-line permission patch.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
Local co-tenant reads an umask-exposed file (AV:L, PR:L for an existing local account); tokens yield full Atlassian read (C:H) and some write-back capability (I:L); no availability or cross-system scope impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
MCP Atlassian is a Model Context Protocol (MCP) server for Atlassian products (Confluence and Jira). Prior to 0.22.0, the plaintext OAuth fallback file containing refresh and access tokens is written with permissions inherited from the process umask. Under common or permissive configurations, other local users can read the backup and retain Atlassian access through the refresh token. The advisory traces the vulnerable input and processing flow through OAuthConfig._save_tokens_to_file, refresh_token, access_token, and umask, which identify the affected entry points, controls, and code paths. This issue is fixed in version 0.22.0.
Technical POC Analysis
CWE-732 (Incorrect Permission Assignment for Critical Resource), in the Atlassian OAuth token persistence path of the Python package mcp-atlassian (pip).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
MCP Atlassian servers deployed at versions before 0.22.0 can store Atlassian OAuth fallback credentials on disk with permissions loose enough for any other account on the same host to read them, potentially exposing Confluence and Jira content and actions to unauthorized users. The exposure is limited to shared or multi-user systems where the plaintext fallback storage path is actually in use, but because the leaked refresh token remains valid even after access tokens are rotated, organizations cannot rely on credential rotation to contain it. Leadership should treat this as a trust-boundary issue for any team running these servers on shared infrastructure that also hosts other accounts or tenants.
Apply vendor patch.
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-84761
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB