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-70657

CVE-2026-70657: Logical Authorization Bypass in Copyparty Directory and File Key Handling

Alon Barad
Alon Barad
Software Engineer

Aug 18, 2026·7 min read·2 visits

Executive Summary (TL;DR)

Copyparty is vulnerable to a privilege escalation vulnerability where a valid file key can be elevated to a directory key, allowing unauthorized directory listings and access to adjacent files when directory-key (dk) and file-key (fk) flags are enabled simultaneously.

A logical authorization bypass vulnerability in copyparty allows an attacker possessing a restricted file-level key to escalate privileges to directory-level access, exposing directory listings and adjacent files.

Vulnerability Overview

Copyparty is a portable file server environment offering web-based directory exploration, uploading, and administration. It relies on a modular volume structure where administrators can configure access permissions using fine-grained flags. Among these flags are directory keys (dk or dks) and file keys (fk or fka), which control localized access for untrusted clients. The directory keys grant listing and read permissions for directory hierarchies, whereas file keys restrict client access exclusively to a single designated file.

The attack surface is localized within the web-browser engine component of the file server, specifically handled in the tx_browser handler inside copyparty/httpcli.py. This handler serves as the entry point for formatting directory trees, managing download listings, and handling browser requests. When directory keying and file keying are mixed on a single storage volume, the logical access boundary collapses.

This issue is categorized under CWE-863 (Incorrect Authorization). It permits an authenticated user with low privileges (possession of a single valid file key) to step outside their authorized scope and list directory tree nodes. This logical flaw bypasses the granular boundary that developers implemented to isolate single-file assets from neighboring resources in the same path.

Root Cause Analysis

The logical collapse is caused by state tracking confusion when processing the connection context in copyparty/httpcli.py. The HTTP daemon establishes a boolean tracker named use_filekey to identify whether a given connection has authenticated strictly via a file-level key. If use_filekey is active, the request lifecycle should restrict execution endpoints from executing directory-level listings or returning indexes of container folders.

When the server handles a directory-rendering routine, it queries the volume flags to populate configuration attributes for the current workspace. In vulnerable versions, the initialization of the add_dk variable—responsible for checking if directory keys should be processed—was performed via add_dk = vf.get("dk"). This assignment solely checked if the configuration flag was enabled for the storage volume, completely ignoring whether the current session's key validation context was limited to a file key.

Because the server verified that the user presented a valid cryptographic or token key (the file key itself), the key checking loop completed successfully. However, when rendering the directory interface, the unconditional initialization of the directory-key mechanisms (add_dk = True) allowed the server to treat the file key as a valid credential for directory operations. This logical promotion enabled a client to request index trees because the backend failed to isolate the scope of the active file key.

Code-Level Analysis and Patch Verification

A direct analysis of the patch highlights the exact mechanical failure of the authorization check. The critical vulnerability window existed inside the HTTP client request handler when preparing volume attributes for display.

# Vulnerable implementation in copyparty/httpcli.py prior to v1.20.17
# The software loaded the directory key flag directly from the volume structure (vf)
# without verifying if the active user was restricted by a file key constraint.
 
add_dk = vf.get("dk")

This evaluation meant that if the volume configuration possessed directory keys (dk), the backend enabled directory-key logic for the request. The patch corrected this issue by enforcing a logical conjunction that requires the request not to be a restricted file key session.

# Patched implementation in copyparty/httpcli.py inside commit e40755331ba9449993ff482456e6bdd2c6deb950
# The fix couples the directory key activation flag to the negation of the file key restriction variable.
 
add_dk = not use_filekey and vf.get("dk")

This addition ensures that if use_filekey is True (meaning the client has authenticated with an fk or fka key), add_dk is forced to False regardless of whether directory keying (dk or dks) is enabled on the storage volume. This fix is complete; it directly blocks the initialization of the directory index routine for any thread constrained by a file-level token.

Exploitation Mechanics and Proof-of-Concept

Exploitation of CVE-2026-70657 requires no specialized tools and can be executed via basic HTTP clients. The primary requirement is that the target copyparty volume is configured to use both file keys and directory keys. Additionally, the attacker must have obtained a valid file key string, which might be distributed to low-privilege users or guests for accessing specific media assets or logs.

The attack sequence begins with a standard request to download or view the authorized file. This request validates the key and sets the server's session state. The attacker then modifies the request path to point to the containing directory instead of the specific file, whilst retaining the exact same file-key query parameter.

In a vulnerable version, the directory browser processes this request. Instead of returning an access control error, it evaluates the volume-level flags, sees that dk is active, and matches the authenticated credentials. The server lists all files, directories, and metadata residing in the folder, granting full visibility to neighboring resources.

Security Impact and Attack Surface Assessment

The impact of this vulnerability is a breach of confidentiality on affected copyparty storage volumes. In multi-tenant or multi-user file storage setups where file keys are distributed to isolate different files (such as database backups, user documents, or proprietary logs), a low-privileged client can view and download all adjacent assets. This circumvents the access controls that administrators rely on to secure multitenant file systems.

The CVSS v3.1 base score of 4.3 reflects this localized, medium-severity risk. Since write permissions or code execution capabilities are not granted through this specific logic flaw, Integrity and Availability scores remain at zero. However, in environments hosting highly sensitive data, this can lead to data exposure and lateral discovery.

Because the vulnerability requires an explicit, non-default configuration (mixing dk and fk on the same volume), the overall threat landscape is specialized. This explains its current status on CISA's KEV catalog (not listed) and its low EPSS score. However, for organizations that rely on Copyparty for public-facing assets, the exploit complexity remains low once a key is acquired.

Remediation and Defensive Controls

Remediation requires upgrading the Copyparty software to version 1.20.17 or higher. The patch strictly separates the validation scopes of file keys and directory keys, preventing the logical promotion of restricted credentials. Upgrading can be completed by downloading the updated package from the official repository or pulling the latest container image.

If immediate patching is impossible, defensive engineers should audit copyparty configurations. Review the volume flags to ensure that dk/dks and fk/fka are never combined on the same virtual root or storage directory. Segregating resources into separate volumes based on access key types will nullify the vulnerable code path.

Additionally, network-level monitoring or web application firewalls can be configured to inspect query parameters. If a request targets a directory index while presenting parameters historically associated with file-level authentication, it should be dropped. ModSecurity and other modern engines can enforce rules to detect and alert on anomalous traversal requests targeting Copyparty directories.

Official Patches

9001Fix logical authorization bypass commit

Fix Analysis (1)

Technical Appendix

CVSS Score
4.3/ 10
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
EPSS Probability
0.04%
Top 88% most exploited

Affected Systems

Copyparty File Server

Affected Versions Detail

Product
Affected Versions
Fixed Version
copyparty
9001
< 1.20.171.20.17
AttributeDetail
CWE IDCWE-863
Attack VectorNetwork
CVSS Score4.3 (Medium)
Exploit StatusPoC
KEV StatusNot Listed
Affected Functiontx_browser in copyparty/httpcli.py

MITRE ATT&CK Mapping

T1068Exploitation for Privilege Escalation
Privilege Escalation
CWE-863
Incorrect Authorization

The software performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly prove that the actor is authorized to perform that action or access that resource.

Vulnerability Timeline

Official fix commit e40755331ba9449993ff482456e6bdd2c6deb950 pushed to 9001/copyparty
2026-07-06
Vulnerability publicly disclosed and published as GHSA-x5pq-m9p8-f4vx
2026-08-18

References & Sources

  • [1]GitHub Security Advisory GHSA-x5pq-m9p8-f4vx
  • [2]Fix Commit e407553
  • [3]Copyparty v1.20.17 Release

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

•38 minutes ago•CVE-2026-61634
0.0

CVE-2026-61634: Heap Memory Exhaustion in RabbitMQ Java Client

An improper input validation vulnerability (CWE-20) in the RabbitMQ Java Client prior to version 5.33.0 allows a compromised or malicious AMQP broker to trigger heap memory exhaustion and Denial of Service in client applications during the connection handshake.

Alon Barad
Alon Barad
2 views•7 min read
•about 5 hours ago•GHSA-92HR-GMR6-H8CP
7.5

GHSA-92HR-GMR6-H8CP: Cryptographic Weaknesses, Parameter Pollution, Path Traversal, and Timing Flaws in Etherpad

A collection of multiple security issues in Etherpad before version 3.3.0, involving weak token generation, timing side channels, API parameter pollution, path traversal, and file-system path disclosure.

Amit Schendel
Amit Schendel
4 views•5 min read
•about 6 hours ago•CVE-2026-54284
8.7

CVE-2026-54284: Algorithmic Complexity Exhaustion in sqlparse Engine

An algorithmic complexity vulnerability in the python-sqlparse library allows remote, unauthenticated attackers to cause a Denial of Service (DoS) via resource exhaustion. By transmitting a carefully constructed SQL statement containing deeply nested structures, an attacker can trigger quadratic CPU consumption within the parsing engine. This behavior bypasses the built-in depth limits because the performance degradation occurs during the initial recursive tree construction, causing the application process to hang.

Alon Barad
Alon Barad
3 views•6 min read
•about 7 hours ago•GHSA-XHCR-CQFR-M3HV
8.7

GHSA-XHCR-CQFR-M3HV: Remote Code Execution via Insecure HTTP MCP Server Registry in atomic-agents-stack

A critical vulnerability exists in the atomic-agents-stack package up to version 1.0.0. The HTTP Model Context Protocol (MCP) server-registry backend factory retrieves catalog metadata over cleartext HTTP by default. Because these catalogs define execution parameters ('command' and 'args') for local stdio subprocesses, a network-positioned attacker can intercept the cleartext traffic and inject arbitrary commands. This results in arbitrary remote code execution on the agent host system without requiring user interaction.

Alon Barad
Alon Barad
4 views•6 min read
•about 8 hours ago•GHSA-J659-8XH6-5PQ5
8.7

GHSA-J659-8XH6-5PQ5: Financial Guardrail Bypass in atomic-agents-stack via Parallel Execution of Unlisted Models

A high-severity vulnerability in the atomic-agents-stack framework allows complete bypass of cost-cap guardrails during parallel model execution when utilizing unlisted, local, or self-hosted models.

Amit Schendel
Amit Schendel
7 views•7 min read
•about 12 hours ago•GHSA-MPWR-8VM7-H73F
7.4

GHSA-mpwr-8vm7-h73f: Key Space Collapse and Authentication Bypass in go-pkcs12 PBMAC1 Decoding

A security vulnerability in the Go library software.sslmate.com/src/go-pkcs12 allows remote attackers to bypass password-based integrity verification. By crafting a PKCS#12 file with an excessively short KeyLength parameter in the PBMAC1 configuration, the derived MAC key space collapses, allowing an attacker to forge arbitrary certificate structures and private keys that are incorrectly verified as valid.

Amit Schendel
Amit Schendel
4 views•7 min read