Skip to main content

MCP Atlassian CVE-2026-77268

| EUVDEUVD-2026-84757 MEDIUM
Incorrect Permission Assignment for Critical Resource (CWE-732)
2026-09-22 GitHub_M GHSA-4596-2p6p-28cv
5.5
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/process on host
  2. Delivery
    Read group/world-readable oauth-<client_id>.json
  3. Exploit
    Extract access + refresh tokens
  4. Execution
    Replay tokens to Atlassian session
  5. Impact
    Access/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.

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

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

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

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

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

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.

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
None
Availability
None

Lifecycle Timeline

1
Patch available
Sep 22, 2026 - 20:18 EUVD

DescriptionCVE.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

EPSS Score
0.1%
Top 96% exploitable
Prevalence
Low
niche open-source Python MCP server for Atlassian, limited production footprint
Threat Intel
1
1 sources
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
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

48
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +28
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