Every CVE Search/ Get API key

CVE-2026-77257

MCP Atlassian: HTTP upload tools accept arbitrary server-local file paths

8.3 HighFix available

MCP Atlassian is a Model Context Protocol (MCP) server for Atlassian products (Confluence and Jira). Prior to 0.22.0, HTTP-exposed Jira and Confluence upload tools pass a caller-provided file_path to local file operations without restricting it to the workspace. A remote MCP caller with tool access can cause the server to read sensitive local files and upload them as Atlassian attachments. The advisory traces the vulnerable input and processing flow through streamable-http, upload_attachment, and file_path, which identify the affected entry points, controls, and code paths. This issue is fixed in version 0.22.0.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
None
Availability
None

Exploit likelihood

0.39%Down 0.1 points since Sep 23, 2026
90%50%10%1%

What each source reports

CVE List Score used 8.3

MCP Atlassian: HTTP upload tools accept arbitrary server-local file paths

MCP Atlassian is a Model Context Protocol (MCP) server for Atlassian products (Confluence and Jira). Prior to 0.22.0, HTTP-exposed Jira and Confluence upload tools pass a caller-provided file_path to local file operations without restricting it to the workspace. A remote MCP caller with tool access can cause the server to read sensitive local files and upload them as Atlassian attachments. The advisory traces the vulnerable input and processing flow through streamable-http, upload_attachment, and file_path, which identify the affected entry points, controls, and code paths. This issue is fixed in version 0.22.0.

Record
CVE-2026-77257
CVSS 4.0
8.3 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
Weakness
CWE-22
Updated
2026-11-02
EUVDEUVD-2026-84741 8.3

MCP Atlassian is a Model Context Protocol (MCP) server for Atlassian products (Confluence and Jira). Prior to 0.22.0, HTTP-exposed Jira and Confluence upload tools pass a caller-provided file_path to local file operations without restricting it to the workspace. A remote MCP caller with tool access can cause the server to read sensitive local files and upload them as Atlassian attachments. The advisory traces the vulnerable input and processing flow through streamable-http, upload_attachment, and file_path, which identify the affected entry points, controls, and code paths. This issue is fixed in version 0.22.0.

Record
EUVD-2026-84741
CVSS 4.0
8.3 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-mrq8-fv7v-hhjg 8.3

MCP Atlassian: HTTP upload tools accept arbitrary server-local file paths

sooperset/mcp-atlassian: HTTP upload tools can attach arbitrary server-local files

Date: 2026-05-05 Target: sooperset/mcp-atlassian Commit: d8bc78698a63cb6b321c7ca796d6329d448f7f6d

Summary

mcp-atlassian supports HTTP/SSE deployment for persistent, remote, and multi-user use. In that mode, write-capable Jira and Confluence attachment flows accept caller-controlled server-local file paths and read those paths without an upload-source allowlist or base directory restriction.

An authenticated caller, or a prompt-injected agent with tool-call capability, can cause the MCP server process to read a local file it can access and attach that file into a Jira issue or Confluence page using configured Atlassian credentials.

This is distinct from the prior download-path advisory: that issue was an arbitrary file write sink. This path is upload-source local file disclosure.

Impact

Impact is local file disclosure through an authenticated Atlassian attachment write. In Docker/Kubernetes deployments that mount .env or token material into the service, exposed files may include API tokens, OAuth credentials, service configuration, or other local secrets readable by the MCP process.

The issue is bounded by tool access and Atlassian permissions: the attacker needs an MCP call path to a write tool and an issue/page where the attachment can be written. It is not direct RCE.

Severity is Medium-to-High depending on deployment:

  • Medium for single-user/local stdio usage or tightly scoped tokens.
  • High where HTTP/streamable deployments are shared, write tools are exposed, and the server has access to secrets or broad filesystem mounts.

Source Evidence

HTTP/multi-user deployment is first-class:

  • docs/http-transport.mdx:1-7 describes running as a persistent HTTP service for multi-user and remote deployment.
  • docs/http-transport.mdx:10-13 lists SSE and streamable-http endpoints.
  • docs/http-transport.mdx:88-90 says both HTTP transports support per-request authentication.
  • docs/advanced/docker-production.mdx:25-37 shows Docker deployment with .env, exposed ports, and HOST=0.0.0.0.
  • docs/advanced/docker-production.mdx:91-103 shows Atlassian credentials stored in .env.
  • src/mcp_atlassian/__init__.py:359-363 defaults HTTP host to 0.0.0.0 unless overridden.

The Confluence upload path reads caller-chosen server-local files:

  • src/mcp_atlassian/servers/confluence.py:1290-1315 exposes file_path and explicitly accepts absolute or relative paths.
  • src/mcp_atlassian/servers/confluence.py:1356-1363 passes file_path to confluence_fetcher.upload_attachment.
  • src/mcp_atlassian/confluence/attachments.py:62-70 only converts relative paths to absolute and checks existence.
  • src/mcp_atlassian/confluence/attachments.py:77-80 passes the path to _upload_attachment_direct.
  • src/mcp_atlassian/confluence/attachments.py:477 opens file_path for the multipart upload.

The Jira update path can also upload caller-chosen server-local files:

  • src/mcp_atlassian/servers/jira.py:1564-1568 exposes jira_update_issue as a write tool in toolset:jira_issues.
  • src/mcp_atlassian/servers/jira.py:1609-1618 accepts attachments as a JSON array or comma-separated list of file paths.
  • src/mcp_atlassian/servers/jira.py:1648-1674 parses those file paths and adds them to the update payload.
  • src/mcp_atlassian/jira/issues.py:1132-1137 forwards attachments to upload_attachments.
  • src/mcp_atlassian/jira/attachments.py:372-389 converts relative paths to absolute, checks existence, opens the path, and passes it to jira.add_attachment.

Existing controls do not authorize the upload source path:

  • src/mcp_atlassian/utils/decorators.py:45-72 blocks writes only when read-only mode is enabled.
  • src/mcp_atlassian/servers/main.py:276-279 filters write tools out of listing only in read-only mode.
  • src/mcp_atlassian/utils/toolsets.py:158-183 currently enables all toolsets when TOOLSETS is unset. -…
Record
GHSA-mrq8-fv7v-hhjg
CVSS 4.0
8.3 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
Weakness
CWE-22
Updated
2026-11-02
NVD 8.3

MCP Atlassian is a Model Context Protocol (MCP) server for Atlassian products (Confluence and Jira). Prior to 0.22.0, HTTP-exposed Jira and Confluence upload tools pass a caller-provided file_path to local file operations without restricting it to the workspace. A remote MCP caller with tool access can cause the server to read sensitive local files and upload them as Atlassian attachments. The advisory traces the vulnerable input and processing flow through streamable-http, upload_attachment, and file_path, which identify the affected entry points, controls, and code paths. This issue is fixed in version 0.22.0.

Record
CVE-2026-77257
CVSS 4.0
8.3 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-22
Updated
2026-11-02
OSV 8.3

MCP Atlassian: HTTP upload tools accept arbitrary server-local file paths

MCP Atlassian is a Model Context Protocol (MCP) server for Atlassian products (Confluence and Jira). Prior to 0.22.0, HTTP-exposed Jira and Confluence upload tools pass a caller-provided file_path to local file operations without restricting it to the workspace. A remote MCP caller with tool access can cause the server to read sensitive local files and upload them as Atlassian attachments. The advisory traces the vulnerable input and processing flow through streamable-http, upload_attachment, and file_path, which identify the affected entry points, controls, and code paths. This issue is fixed in version 0.22.0.

Record
CVE-2026-77257
CVSS 4.0
8.3 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
Weakness
CWE-22
Updated
2026-11-02
OSVGHSA-mrq8-fv7v-hhjg 8.3

MCP Atlassian: HTTP upload tools accept arbitrary server-local file paths

sooperset/mcp-atlassian: HTTP upload tools can attach arbitrary server-local files

Date: 2026-05-05 Target: sooperset/mcp-atlassian Commit: d8bc78698a63cb6b321c7ca796d6329d448f7f6d

Summary

mcp-atlassian supports HTTP/SSE deployment for persistent, remote, and multi-user use. In that mode, write-capable Jira and Confluence attachment flows accept caller-controlled server-local file paths and read those paths without an upload-source allowlist or base directory restriction.

An authenticated caller, or a prompt-injected agent with tool-call capability, can cause the MCP server process to read a local file it can access and attach that file into a Jira issue or Confluence page using configured Atlassian credentials.

This is distinct from the prior download-path advisory: that issue was an arbitrary file write sink. This path is upload-source local file disclosure.

Impact

Impact is local file disclosure through an authenticated Atlassian attachment write. In Docker/Kubernetes deployments that mount .env or token material into the service, exposed files may include API tokens, OAuth credentials, service configuration, or other local secrets readable by the MCP process.

The issue is bounded by tool access and Atlassian permissions: the attacker needs an MCP call path to a write tool and an issue/page where the attachment can be written. It is not direct RCE.

Severity is Medium-to-High depending on deployment:

  • Medium for single-user/local stdio usage or tightly scoped tokens.
  • High where HTTP/streamable deployments are shared, write tools are exposed, and the server has access to secrets or broad filesystem mounts.

Source Evidence

HTTP/multi-user deployment is first-class:

  • docs/http-transport.mdx:1-7 describes running as a persistent HTTP service for multi-user and remote deployment.
  • docs/http-transport.mdx:10-13 lists SSE and streamable-http endpoints.
  • docs/http-transport.mdx:88-90 says both HTTP transports support per-request authentication.
  • docs/advanced/docker-production.mdx:25-37 shows Docker deployment with .env, exposed ports, and HOST=0.0.0.0.
  • docs/advanced/docker-production.mdx:91-103 shows Atlassian credentials stored in .env.
  • src/mcp_atlassian/__init__.py:359-363 defaults HTTP host to 0.0.0.0 unless overridden.

The Confluence upload path reads caller-chosen server-local files:

  • src/mcp_atlassian/servers/confluence.py:1290-1315 exposes file_path and explicitly accepts absolute or relative paths.
  • src/mcp_atlassian/servers/confluence.py:1356-1363 passes file_path to confluence_fetcher.upload_attachment.
  • src/mcp_atlassian/confluence/attachments.py:62-70 only converts relative paths to absolute and checks existence.
  • src/mcp_atlassian/confluence/attachments.py:77-80 passes the path to _upload_attachment_direct.
  • src/mcp_atlassian/confluence/attachments.py:477 opens file_path for the multipart upload.

The Jira update path can also upload caller-chosen server-local files:

  • src/mcp_atlassian/servers/jira.py:1564-1568 exposes jira_update_issue as a write tool in toolset:jira_issues.
  • src/mcp_atlassian/servers/jira.py:1609-1618 accepts attachments as a JSON array or comma-separated list of file paths.
  • src/mcp_atlassian/servers/jira.py:1648-1674 parses those file paths and adds them to the update payload.
  • src/mcp_atlassian/jira/issues.py:1132-1137 forwards attachments to upload_attachments.
  • src/mcp_atlassian/jira/attachments.py:372-389 converts relative paths to absolute, checks existence, opens the path, and passes it to jira.add_attachment.

Existing controls do not authorize the upload source path:

  • src/mcp_atlassian/utils/decorators.py:45-72 blocks writes only when read-only mode is enabled.
  • src/mcp_atlassian/servers/main.py:276-279 filters write tools out of listing only in read-only mode.
  • src/mcp_atlassian/utils/toolsets.py:158-183 currently enables all toolsets when TOOLSETS is unset. -…
Record
GHSA-mrq8-fv7v-hhjg
CVSS 4.0
8.3 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
Weakness
CWE-22
Updated
2026-11-02
OSVPYSEC-2026-4098 8.3

MCP Atlassian: HTTP upload tools accept arbitrary server-local file paths

sooperset/mcp-atlassian: HTTP upload tools can attach arbitrary server-local files

Date: 2026-05-05 Target: sooperset/mcp-atlassian Commit: d8bc78698a63cb6b321c7ca796d6329d448f7f6d

Summary

mcp-atlassian supports HTTP/SSE deployment for persistent, remote, and multi-user use. In that mode, write-capable Jira and Confluence attachment flows accept caller-controlled server-local file paths and read those paths without an upload-source allowlist or base directory restriction.

An authenticated caller, or a prompt-injected agent with tool-call capability, can cause the MCP server process to read a local file it can access and attach that file into a Jira issue or Confluence page using configured Atlassian credentials.

This is distinct from the prior download-path advisory: that issue was an arbitrary file write sink. This path is upload-source local file disclosure.

Impact

Impact is local file disclosure through an authenticated Atlassian attachment write. In Docker/Kubernetes deployments that mount .env or token material into the service, exposed files may include API tokens, OAuth credentials, service configuration, or other local secrets readable by the MCP process.

The issue is bounded by tool access and Atlassian permissions: the attacker needs an MCP call path to a write tool and an issue/page where the attachment can be written. It is not direct RCE.

Severity is Medium-to-High depending on deployment:

  • Medium for single-user/local stdio usage or tightly scoped tokens.
  • High where HTTP/streamable deployments are shared, write tools are exposed, and the server has access to secrets or broad filesystem mounts.

Source Evidence

HTTP/multi-user deployment is first-class:

  • docs/http-transport.mdx:1-7 describes running as a persistent HTTP service for multi-user and remote deployment.
  • docs/http-transport.mdx:10-13 lists SSE and streamable-http endpoints.
  • docs/http-transport.mdx:88-90 says both HTTP transports support per-request authentication.
  • docs/advanced/docker-production.mdx:25-37 shows Docker deployment with .env, exposed ports, and HOST=0.0.0.0.
  • docs/advanced/docker-production.mdx:91-103 shows Atlassian credentials stored in .env.
  • src/mcp_atlassian/__init__.py:359-363 defaults HTTP host to 0.0.0.0 unless overridden.

The Confluence upload path reads caller-chosen server-local files:

  • src/mcp_atlassian/servers/confluence.py:1290-1315 exposes file_path and explicitly accepts absolute or relative paths.
  • src/mcp_atlassian/servers/confluence.py:1356-1363 passes file_path to confluence_fetcher.upload_attachment.
  • src/mcp_atlassian/confluence/attachments.py:62-70 only converts relative paths to absolute and checks existence.
  • src/mcp_atlassian/confluence/attachments.py:77-80 passes the path to _upload_attachment_direct.
  • src/mcp_atlassian/confluence/attachments.py:477 opens file_path for the multipart upload.

The Jira update path can also upload caller-chosen server-local files:

  • src/mcp_atlassian/servers/jira.py:1564-1568 exposes jira_update_issue as a write tool in toolset:jira_issues.
  • src/mcp_atlassian/servers/jira.py:1609-1618 accepts attachments as a JSON array or comma-separated list of file paths.
  • src/mcp_atlassian/servers/jira.py:1648-1674 parses those file paths and adds them to the update payload.
  • src/mcp_atlassian/jira/issues.py:1132-1137 forwards attachments to upload_attachments.
  • src/mcp_atlassian/jira/attachments.py:372-389 converts relative paths to absolute, checks existence, opens the path, and passes it to jira.add_attachment.

Existing controls do not authorize the upload source path:

  • src/mcp_atlassian/utils/decorators.py:45-72 blocks writes only when read-only mode is enabled.
  • src/mcp_atlassian/servers/main.py:276-279 filters write tools out of listing only in read-only mode.
  • src/mcp_atlassian/utils/toolsets.py:158-183 currently enables all toolsets when TOOLSETS is unset. -…
Record
PYSEC-2026-4098
CVSS 4.0
8.3 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
mcp-atlassian
PyPI
before 0.22.0
0.22.0
mcp-atlassian
PyPI
before 0.22.0, plus listed versions
0.1.10.1.100.1.110.1.120.1.13
Show 45 moreShow less
0.1.140.1.150.1.160.1.20.1.30.1.40.1.60.1.70.1.80.1.90.10.00.10.10.10.20.10.30.10.40.10.50.10.60.11.00.11.10.11.100.11.110.11.120.11.20.11.2a20.11.30.11.40.11.50.11.60.11.70.11.80.11.90.12.00.13.00.13.10.14.00.14.10.14.20.14.30.15.00.16.00.16.10.17.00.18.00.18.10.19.0
0.22.0

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-77257 is a high vulnerability (CVSS 8.3) in Mcp-atlassian Mcp Atlassian, published September 22, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.39%, the 32nd percentile. Fixed in mcp-atlassian 0.22.0.

References

This page doesn't list everything

Left out here: 29 versions and the rest of 3 source descriptions. The JSON record has them.

MoveEnter Open