Cockpit CMS Path Traversal via Bucket Name in Bucket File Storage API
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Cockpit HQ | Cockpit CMS | affected |
|
No data.
No data.
No data available yet.
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.479% probability within 30 days)
| 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
|
| 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
|