CVE-2026-57856

Cockpit CMS Path Traversal via Bucket Name in Bucket File Storage API

Published Jul 13, 2026 CVSS 4.0 · 8.7 High EPSS < 1% KEV · Not listed
Description
Cockpit CMS contains a path traversal vulnerability in the Bucket file storage API (/system/buckets/api). The api() method in modules/System/Controller/Buckets.php sanitizes the bucket name with preg_replace('/[^a-zA-Z0-9-_\\.]/','', $bucket), which permits '..' and '../' sequences. The sanitized value is interpolated into a Flysystem path as uploads://buckets/{bucket}. Flysystem's WhitespacePathNormalizer resolves 'buckets/..' to the empty string (the uploads storage root) without raising PathTraversalDetected because the '..' has a preceding component to consume. An authenticated low-privileged user can send a crafted request with a '../' bucket name to list, upload, and delete files across all buckets, including those belonging to other users or roles

Analysis

AI-generated

Technical impact

An authenticated low‑privileged user can send a crafted request to the /system/buckets/api endpoint with a bucket name containing '..' or '../'. The api() method in modules/System/Controller/Buckets.php sanitizes the bucket value only by stripping non‑alphanumeric characters, so the traversal sequences survive. These are then interpolated into{bucket}. Flysystem’s WhitespacePathNormalizer interprets 'buckets/..' as the root uploads folder, effectively allowing the attacker to list, upload, or delete files in any bucket, including those belonging to other users or roles. This capability to read or modify arbitrary files compromises confidentiality, integrity, and potentially availability of user data.

Affected Systems

The affected product is Cockpit HQ’s Cockpit CMS. Versions containing the vulnerable code include any releases that have not yet incorporated the commit dde2d1d74f5f4e11de42a298918ea8c9684f932c, which applies a stricter validation on the bucket name. No specific major or minor version numbers are listed, so all current releases prior to this fix are considered at risk.

Risk and Exploitability

The CVSS score of 8.7 indicates a high‑severity flaw. An EPSS score of <1% indicates a very low likelihood of exploitation in the wild. The lack of a KEV listing suggests no confirmed public exploits yet. Nonetheless, the attack requires only an authenticated low‑privileged account and a crafted REST call, who can elevate privileges through other compromise data across buckets. Because the vulnerability grants read/write/delete capabilities, the impact spans confidentiality, integrity, and availability for affected users.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Cockpit CMS to a version that includes the fix identified in commit dde2d1d74f5f4e11de42a298918ea8c9684f932c or later.
  • If an upgrade is not immediatelyuckets/api endpoint to administrator roles or disable the bucket file storage feature for low‑privileged users via configuration settings.
  • Deploy a web‑application firewall rule that blocks requests to the Bucket file storage API containing '..' or '../' sequences in the bucket name parameter.

Generated by OpenCVE AI on July 31, 2026 at 11:05 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
First Time appeared Agentejo
Agentejo cockpit
CPEs cpe:2.3:a:agentejo:cockpit:*:*:*:*:*:*:*:*
Vendors & Products Agentejo
Agentejo cockpit
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description Cockpit CMS contains a path traversal vulnerability in the Bucket file storage API (/system/buckets/api). The api() method in modules/System/Controller/Buckets.php sanitizes the bucket name with preg_replace('/[^a-zA-Z0-9-_\\.]/','', $bucket), which permits '..' and '../' sequences. The sanitized value is interpolated into a Flysystem path as uploads://buckets/{bucket}. Flysystem's WhitespacePathNormalizer resolves 'buckets/..' to the empty string (the uploads storage root) without raising PathTraversalDetected because the '..' has a preceding component to consume. An authenticated low-privileged user can send a crafted request with a '../' bucket name to list, upload, and delete files across all buckets, including those belonging to other users or roles
Title Cockpit CMS Path Traversal via Bucket Name in Bucket File Storage API
Weaknesses CWE-22
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}

cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}

Weaknesses
  • CWE-22

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

Sources

Status
PUBLISHED
Assigner
VulnCheck
Published
Updated
Jul 14, 2026, 9:34 PM
Reserved
Jun 25, 2026, 6:48 PM
Status
Deferred
Published
Jul 13, 2026, 11:16 PM
Modified
Oct 24, 2026, 10:10 PM