CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-27825

CVE-2026-27825: Arbitrary File Write in mcp-atlassian Confluence Attachment Downloader

Alon Barad
Alon Barad
Software Engineer

Mar 10, 2026·6 min read·58 visits

Executive Summary (TL;DR)

mcp-atlassian versions before 0.17.0 contain an arbitrary file write vulnerability in the confluence_download_attachment tool. Attackers can bypass directory restrictions to write malicious files, leading to remote code execution when chained with CVE-2026-27826.

CVE-2026-27825 is a critical arbitrary file write vulnerability in the mcp-atlassian Model Context Protocol (MCP) server. The vulnerability allows local network attackers to write arbitrary content to any path accessible by the server process due to a lack of directory boundary enforcement in the confluence_download_attachment tool.

Vulnerability Overview

The mcp-atlassian package provides a Model Context Protocol (MCP) server integration for Atlassian Confluence and Jira. This component facilitates agentic workflows within popular AI-assisted integrated development environments (IDEs) such as Cursor, Claude Desktop, and Copilot. The package exposes a tool named confluence_download_attachment which handles the retrieval of remote assets.

CVE-2026-27825 is an arbitrary file write vulnerability located within the attachment downloading mechanism. The implementation fails to enforce directory boundaries when processing the download_path parameter. This architectural flaw allows the application to write file streams to any absolute or relative path accessible by the executing process.

The vulnerability is classified under CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) and CWE-73 (External Control of File Name or Path). Exploitation requires the ability to invoke the MCP tool, which is exposed without authentication by default when using specific transport protocols.

Root Cause Analysis

The vulnerability originates in the download_attachment method within the src/mcp_atlassian/confluence/attachments.py module. The function accepts a target_path argument from the client and attempts to normalize it using the standard library os.path.abspath() function. Normalization resolves relative path segments such as directory traversals, but it does not constrain the resulting absolute path to a safe base directory.

Following normalization, the application invokes os.makedirs() to ensure the parent directory of the target path exists. The function passes exist_ok=True, which silently creates missing directories without evaluating the target location against a permitted directory allowlist. The application then opens the file handler in write-binary (wb) mode.

The application streams the HTTP response content from the provided URL directly into the file handler using an 8192-byte chunk size. Because the system processes these operations sequentially without validating the final file destination, an attacker controls both the file location and the file contents. The operation executes with the permissions of the underlying MCP server process.

Code Analysis

The vulnerable implementation in version 0.16.1 performs path processing without boundary enforcement. The code standardizes the input path but immediately utilizes it in standard library file operations.

# confluence/attachments.py (v0.16.1)
def download_attachment(self, url: str, target_path: str) -> bool:
    try:
        if not os.path.isabs(target_path):
            target_path = os.path.abspath(target_path)
        os.makedirs(os.path.dirname(target_path), exist_ok=True)
        response = self.confluence._session.get(url, stream=True)
        response.raise_for_status()
        with open(target_path, "wb") as f:
            for chunk in response.iter_content(chunk_size=8192):
                f.write(chunk)

The maintainers addressed this vulnerability in version 0.17.0 via commit 52b9b0997681e87244b20d58034deae89c91631e. The patch introduces a dedicated validate_safe_path utility function that evaluates the target path against a defined base directory using the pathlib module.

# confluence/attachments.py (v0.17.0)
def validate_safe_path(path, base_dir=None):
    if base_dir is None:
        base_dir = os.getcwd()
    resolved_base = Path(base_dir).resolve(strict=False)
    p = Path(path)
    if not p.is_absolute():
        p = resolved_base / p
    resolved_path = p.resolve(strict=False)
    if not resolved_path.is_relative_to(resolved_base):
        raise ValueError(f"Path traversal detected: {path} resolves outside {resolved_base}")
    return resolved_path

This remediation ensures that p.resolve() computes the true absolute path, accounting for symbolic links and traversal characters. The is_relative_to() check explicitly verifies that the resolved path resides strictly within the hierarchical boundary of the base directory. This eliminates the arbitrary file write capability by isolating operations to the designated working context.

Exploitation and Attack Vector

Exploitation relies on network access to the MCP server. By default, invoking the application with the --transport streamable-http or sse arguments binds the service to the 0.0.0.0 interface. This configuration exposes the unauthenticated endpoint to all adjacent network segments, allowing local network attackers to interact with the exposed tools.

Researchers at Pluto Security demonstrated an exploit chain dubbed "MCPwnfluence", which combines CVE-2026-27825 with an unauthenticated Server-Side Request Forgery (SSRF) vulnerability designated as CVE-2026-27826. The attacker sends a crafted request containing an altered X-Atlassian-Confluence-Url header. This header forces the MCP server to redirect outbound attachment requests to an attacker-controlled infrastructure.

The attacker then invokes the confluence_download_attachment tool. Due to the SSRF, the server fetches the attacker's payload rather than a legitimate Confluence asset. Simultaneously, the attacker specifies a critical system location in the download_path parameter. The application writes the malicious payload to the targeted system path, completing the attack sequence.

Impact Assessment

The primary security impact of this vulnerability is Remote Code Execution (RCE). An attacker successfully exploiting the arbitrary file write primitive can overwrite critical system files or deposit executable content into automated task directories. The impact severity directly correlates with the execution context of the MCP server.

On Linux environments, an attacker commonly targets the /etc/cron.d/ directory to schedule malicious commands. If the MCP server runs with standard user privileges, the attacker can write to ~/.bashrc to execute code upon the next terminal session, or append public keys to ~/.ssh/authorized_keys to establish persistent remote access. On macOS systems, attackers target ~/Library/LaunchAgents/ to achieve persistence and code execution.

The vulnerability also facilitates data exfiltration. The corresponding confluence_upload_attachment tool possesses the same path traversal characteristics. An attacker can supply a path referencing local sensitive files, such as ~/.aws/credentials or ~/.ssh/id_rsa, and upload them to an external location under the attacker's control.

The CVSS v3.1 base score is 9.1. The vector reflects a low-complexity, adjacent-network attack requiring no privileges or user interaction. The scope change represents the transition from the vulnerable application context to the underlying operating system environment.

Remediation and Mitigation

Organizations must upgrade the mcp-atlassian package to version 0.17.0 or later. System administrators can apply the update via standard package managers or by pulling the latest container image from the official GitHub container registry.

If immediate patching is unfeasible, administrators must restrict network exposure. The application should only bind to the local loopback interface (127.0.0.1). Avoid using the --transport streamable-http or sse flags with binding addresses that expose the service to external or adjacent networks.

Deploying the MCP server with the principle of least privilege mitigates the impact of successful exploitation. Run the service as a dedicated non-root user account. When operating within containerized environments, utilize read-only root filesystems and restrict mount points to prevent arbitrary writes to critical operating system paths.

Official Patches

soopersetOfficial GitHub Security Advisory
soopersetSource code patch fixing the path traversal

Fix Analysis (1)

Technical Appendix

CVSS Score
9.1/ 10
CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Affected Systems

mcp-atlassian MCP ServerCursor IDE IntegrationsClaude Desktop IntegrationsCopilot Integrations

Affected Versions Detail

Product
Affected Versions
Fixed Version
mcp-atlassian
sooperset
< 0.17.00.17.0
AttributeDetail
CWE IDCWE-22, CWE-73
Attack VectorAdjacent Network
CVSS v3.1 Score9.1 (Critical)
ImpactRemote Code Execution (RCE)
Exploit StatusProof of Concept (PoC) Available
CISA KEVNot Listed

MITRE ATT&CK Mapping

T1083File and Directory Discovery
Discovery
T1005Data from Local System
Collection
T1059Command and Scripting Interpreter
Execution
T1133External Remote Services
Persistence
CWE-22
Path Traversal

Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Known Exploits & Detection

GitHubDetection and proof-of-concept scripts demonstrating the MCPwnfluence attack chain.

Vulnerability Timeline

Pluto Security identifies the vulnerability and contacts the maintainer.
2026-02-10
Private Vulnerability Reporting (PVR) enabled on GitHub.
2026-02-19
Fix pull requests merged by maintainers.
2026-02-23
Version 0.17.0 released and CVE IDs issued.
2026-02-24
Full technical disclosure published by Pluto Security.
2026-02-26

References & Sources

  • [1]GitHub Security Advisory: GHSA-xjgw-4wvw-rgm4
  • [2]Pluto Security Blog: MCPwnfluence CVE-2026-27825 Critical
  • [3]Pluto Security: MCPwnfluence Detection Script
Related Vulnerabilities
CVE-2026-27826

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•about 2 hours ago•CVE-2026-50751
9.3

CVE-2026-50751: Authentication Bypass in Check Point Security Gateway IKEv1 Legacy Validation

An improper authentication vulnerability (CWE-287) exists in the legacy, deprecated Internet Key Exchange version 1 (IKEv1) key exchange protocol implementation in Check Point Security Gateways. The vulnerability is caused by a logic flow weakness during the certificate validation process for Remote Access VPN and Mobile Access (SSL VPN) connections. An unauthenticated remote attacker can exploit this weakness to bypass user authentication entirely, establishing a fully functional Remote Access VPN connection without a valid password.

Alon Barad
Alon Barad
15 views•6 min read
•about 16 hours ago•CVE-2026-39922
6.3

CVE-2026-39922: Server-Side Request Forgery in GeoNode Service Registration Endpoint

GeoNode versions prior to 4.4.5 and 5.0.2 are vulnerable to Server-Side Request Forgery (SSRF) in the service registration endpoint. Authenticated attackers with low privileges can exploit insufficient input validation in the Web Map Service (WMS) registration module to force the application server to make outbound network queries to loopback addresses, private RFC1918 subnets, link-local scopes, and cloud metadata endpoints. This technical report details the mechanics of the vulnerability, the underlying architectural flaw, and how to effectively remediate and mitigate the associated security risks.

Alon Barad
Alon Barad
4 views•7 min read
•1 day ago•CVE-2022-0492
7.8

CVE-2022-0492: Privilege Escalation and Container Escape via cgroups v1 release_agent

CVE-2022-0492 is a high-severity missing authorization vulnerability in the Linux kernel's Control Groups (cgroups) v1 implementation. The flaw resides within the cgroup_release_agent_write function in kernel/cgroup/cgroup-v1.c, where the kernel fails to validate if the process writing to the release_agent file possesses administrative capabilities in the initial user namespace. This allows a local attacker inside a container with root privileges (UID 0) to abuse user namespaces, mount a cgroups v1 directory, modify the release_agent parameter, and execute arbitrary commands on the host system as host root, effectively achieving a complete container escape.

Amit Schendel
Amit Schendel
9 views•7 min read
•3 days ago•GHSA-G72G-R7M4-9X4G
6.3

GHSA-G72G-R7M4-9X4G: Insufficient Session Expiration of OAuth Tokens in NocoDB

NocoDB is subject to an insufficient session expiration vulnerability where OAuth access and refresh tokens are not invalidated or revoked during security-sensitive actions such as password changes, forgot-password requests, or password resets. This allows an attacker possessing an active OAuth token to maintain unauthorized persistence.

Amit Schendel
Amit Schendel
12 views•6 min read
•3 days ago•GHSA-FGMC-2HQJ-86V4
6.9

GHSA-FGMC-2HQJ-86V4: Default Administrative Credentials in vantage6-server

A vulnerability in the vantage6 federated learning framework allows unauthenticated remote attackers to gain administrative control of the server via hardcoded default credentials (root/root) when deployed under default configurations in versions 4.2.3 and below.

Amit Schendel
Amit Schendel
8 views•5 min read
•3 days ago•GHSA-X9F6-9RVM-MMRG
6.9

GHSA-X9F6-9RVM-MMRG: Improper Access Control and Volume Mount Isolation Bypass in vantage6 Node

An improper access control vulnerability in the vantage6 node component allows concurrently running algorithm containers to read and modify sensitive input and output files of other tasks. The lack of strict workspace directory isolation exposes a significant attack surface in multi-tenant or federated environments where untrusted algorithms are executed.

Amit Schendel
Amit Schendel
4 views•4 min read