Skip to main content

MCP Atlassian CVE-2026-77249

| EUVDEUVD-2026-84759 MEDIUM
Server-Side Request Forgery (SSRF) (CWE-918)
2026-09-22 GitHub_M GHSA-v9m3-wfh8-5646
5.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Control a public Jira URL as MCP caller
  2. Delivery
    Trigger _lookup_user_by_permissions user lookup
  3. Exploit
    Unhooked requests.get follows attacker redirect
  4. Execution
    Reach internal-only address bypassing SSRF hook
  5. Impact
    Probe/disclose internal service response

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an MCP caller able to control the public Jira base URL the server uses, and a Jira user-lookup operation that routes through JiraUserMixin._lookup_user_by_permissions (the code path that calls the unhooked module-level requests.get rather than the SSRF-protected session). The attacker must also run or control a server at that URL that returns a redirect to an internal address. Practical impact is limited: the SSRF is blind/low-confidentiality (C:L, no I/A), and the attacker-controlled-URL requirement means this is most exploitable in HTTP/multi-user or shared-credential deployments where a caller can supply their own Jira endpoint; single-user stdio deployments with a fixed trusted Jira URL are not realistically exposed. Fixed in v0.22.0, which routes the call through the hooked session, adds make_ssrf_redirect_hook, and mounts DNS-rebind pinning.

Impact

This is a genuine but low-severity SSRF (CWE-918). The vendor CVSS of 5.3 (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N) is defensible: the flaw only yields limited confidentiality impact (C:L) via a blind/probe SSRF, with no integrity or availability impact. No EPSS score, no CISA KEV listing, and no public exploit code were provided, so this is 'no public exploit identified at time of analysis.' There is no SSVC data supplied. The most important caveat is the PR:N rating: exploitation requires a caller who can control the public Jira URL that the MCP server contacts, which in practice means a permitted MCP caller in an HTTP/multi-user deployment - arguably PR:L rather than PR:N, which would lower the score to roughly 4.3. Signals are internally consistent (moderate CVSS, no exploitation evidence, niche product), so this is a routine-priority patch item rather than an urgent one; the real value of the fix is that it closes a bypass of an earlier SSRF hardening (CVE-2026-27826) rather than a novel high-impact bug.

Exploit ScenarioDerived

An attacker who can act as an MCP caller supplies a public Jira base URL under their control; when JiraUserMixin._lookup_user_by_permissions issues a user-lookup via the unhooked module-level requests.get, the attacker's server responds with an HTTP redirect pointing at an internal address (e.g., cloud metadata or an internal service). Because this call path bypasses the SSRF redirect hook added for CVE-2026-27826, the server follows the redirect and contacts the internal target on the attacker's behalf. No public exploit code was identified, and the SSRF is largely blind, yielding limited confidentiality (C:L).

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

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

Alert me

AnalysisAIv1 – Sep 22, 2026

Server-side request forgery in MCP Atlassian (sooperset/mcp-atlassian) prior to 0.22.0 lets an MCP caller who controls the public Jira base URL have a Jira user-lookup request redirected to an internal address, bypassing the SSRF redirect protections previously added for CVE-2026-27826. The vulnerable path is JiraUserMixin._lookup_user_by_permissions, which calls the module-level requests.get instead of the fetcher's protected session, so the response hook that enforces redirect validation is never applied. Impact is limited and blind (confidentiality-only, no integrity or availability effect) and, per the independent assessment, requires the attacker to control the Jira endpoint plus a server that issues a redirect to an internal target, making it most realistic in HTTP/multi-user or shared-credential deployments rather than single-user stdio setups with a fixed trusted Jira URL. No public exploit code was identified at time of analysis and there is no KEV listing; v0.22.0 resolves the issue.

RemediationAI

Vendor-released patch: upgrade mcp-atlassian to v0.22.0 (https://github.com/sooperset/mcp-atlassian/releases/tag/v0.22.0), which routes JiraUserMixin._lookup_user_by_permissions through the SSRF-hooked session, adds make_ssrf_redirect_hook to the session response hooks, and mounts DNS-rebinding pinning; the underlying fix is visible in PR https://github.com/sooperset/mcp-atlassian/pull/1448 and commit https://github.com/sooperset/mcp-atlassian/commit/b041733473f95119dd539542a43c280737a8e460. If upgrading immediately is not possible, stop exposing the server to untrusted MCP callers: run single-user stdio deployments with a hard-coded, operator-controlled Jira base URL and disable any tool path that lets a caller supply the Jira endpoint, which removes the attacker-controlled-URL precondition at the cost of losing multi-tenant flexibility. In shared/HTTP deployments, add network-layer egress controls on the server host that deny outbound connections to RFC1918, link-local (169.254.0.0/16, including cloud metadata endpoints), loopback, and other internal ranges and force DNS resolution through a resolver that cannot be influenced by the caller - trade-off is breakage of legitimate Jira/Confluence instances hosted on internal addresses, which then need explicit allowlisting. Because the impact is blind SSRF with confidentiality-only effect, monitoring outbound requests from the MCP server for unexpected redirect chains to internal hosts is a useful compensating detection measure. Refer to the advisory GHSA-v9m3-wfh8-5646 for the authoritative mitigation guidance.

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 Python Model Context Protocol server that brokers Confluence and Jira access for MCP clients such as LLM agents. The affected code lives in the Jira user-lookup mixin: JiraUserMixin._lookup_user_by_permissions resolves a user by permissions, and in vulnerable versions it issues its HTTP request through the bare module-level requests.get function rather than through self.jira._session.get, the session object on which the SSRF redirect hook (_make_ssrf_safe_hook / make_ssrf_redirect_hook) is registered under hooks['response']. Because the request bypasses that hooked session, the redirect validation that was introduced as the fix for CVE-2026-27826 is not executed, and an attacker-supplied Jira base URL can return an HTTP redirect to an internal address that the library follows transparently. The root cause class is CWE-918 (Server-Side Request Forgery), i.e. a failure to consistently enforce URL/redirect validation across all outbound request paths in an application that fetches caller-influenced URLs. The 0.22.0 fix routes the lookup through the hooked session and additionally mounts a DNS-pinning adapter (mount_ssrf_pinning) so the resolve-then-connect window (DNS rebinding TOCTOU) is closed while preserving TLS SNI. The same upstream pull request bundles related hardening, including path-traversal confinement for Confluence attachment uploads (validate_safe_path), enforcement of the operator's spaces allowlist as a hard AND boundary in Confluence search CQL, and refusal to download Jira attachments into the working-directory root to avoid overwriting importable modules.

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.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 4.3 MEDIUM

Network SSRF with low complexity, but requires a permitted caller to control the Jira URL (PR:L not PR:N); blind SSRF yields only limited confidentiality (C:L), no I/A.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
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, JiraUserMixin._lookup_user_by_permissions uses the module-level requests.get function instead of the fetcher's protected session. A caller-controlled public Jira URL can redirect that unhooked request to an internal address, bypassing the redirect checks added for CVE-2026-27826. The advisory traces the vulnerable input and processing flow through JiraUserMixin._lookup_user_by_permissions, requests.get, self.jira._session.get, and _make_ssrf_safe_hook, 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.4%
Top 63% exploitable
Prevalence
Low
niche open-source Python MCP server for Atlassian, limited production 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.4%
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

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