Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
Network-reachable /dav with low complexity and no UI; requires an existing scoped WebDAV credential (PR:L); writable credentials can overwrite and delete arbitrary files (C:H/I:H) and deletion affects availability (A:L).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
3DescriptionCVE.org
Cloudreve is a self-hosted file management and sharing system. Prior to 4.16.1, a Cloudreve WebDAV account rooted at a configured folder can send paths such as /dav/%2e%2e/outside.txt because stripPrefix in pkg/webdav/webdav.go joins the decoded request suffix to the account root with fs.URI.JoinRaw without checking containment, allowing the scoped credential to read and list files outside the configured folder and writable credentials to create, overwrite, move, or delete them. This issue is reported as fixed in version 4.16.1.
AnalysisAI
Path traversal via improper authorization in Cloudreve's WebDAV handler lets a scoped WebDAV account escape its configured root folder, reading and listing files anywhere the server process can reach, and - with a writable credential - creating, overwriting, moving, or deleting them. All versions prior to 4.16.1 are affected. No public exploit is identified at time of analysis and it is not listed in CISA KEV, though the flaw is straightforward to trigger once a low-privileged WebDAV credential is held.
Technical ContextAI
Cloudreve is a self-hosted file management and sharing platform written in Go. The vulnerability lives in the WebDAV subsystem (pkg/webdav/webdav.go): the stripPrefix routine URL-decodes the request path suffix and joins it to the account's configured root using fs.URI.JoinRaw without verifying that the resulting path stays contained within that root. Because decoding happens before any containment check, an encoded traversal sequence such as %2e%2e (a percent-encoded '..') slips past the intended sandbox. This is a classic CWE-863 (Improper Authorization) failure - the scoping boundary that ties a WebDAV credential to a specific folder is not enforced on the resolved path. The single affected package is cpe:2.3:a:cloudreve:cloudreve:*.
RemediationAI
Vendor-released patch: upgrade to Cloudreve 4.16.1 or later, which adds the missing containment check to WebDAV path resolution, per advisory GHSA-w5fv-7x5q-g8qp (https://github.com/cloudreve/cloudreve/security/advisories/GHSA-w5fv-7x5q-g8qp). If immediate upgrade is not possible, reduce exposure by disabling the WebDAV feature entirely or revoking WebDAV credentials until patched (trade-off: breaks legitimate WebDAV sync clients); at minimum, downgrade any writable WebDAV credentials to read-only to remove the create/overwrite/move/delete capability, and restrict network reachability of the /dav endpoint to trusted networks or place it behind a reverse proxy that normalizes and rejects encoded '..' sequences (trade-off: proxy filtering is a partial control and may miss some encodings). Rotate credentials afterward in case scoped accounts were abused.
Cloudreve versions v1.0.0 through v3.5.3 are vulnerable to Stored Cross-Site Scripting (XSS), via the file upload functi
Privilege escalation via OAuth scope enforcement bypass affects Cloudreve self-hosted file management versions 4.12.0 th
Server-Side Request Forgery in Cloudreve's remote download workflow (versions prior to 4.16.1) enables authenticated use
Same weakness CWE-863 – Incorrect Authorization
View allSame technique Authentication Bypass
View allVendor StatusVendor
SUSE
Severity: ImportantShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-44688
GHSA-w5fv-7x5q-g8qp