donknap/dpanel · Security
DPanel has an arbitrary file deletion vulnerability in /api/common/attach/delete interface
- GHSA ID
- GHSA-vh2x-fw87-4fxq
- CVE ID
- CVE-2025-66292
- Severity
- high
- Published
- Updated
- CVSS
- 8.1 · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
- CVSS v3
- 8.1 · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
Description
Summary
DPanel has an arbitrary file deletion vulnerability in the /api/common/attach/delete interface. Authenticated users can delete arbitrary files on the server via path traversal.
Details
When a user logs into the administrative backend, this interface can be used to delete files. The vulnerability lies in the Delete function within the app/common/http/controller/attach.go file.
The path parameter submitted by the user is directly passed to storage.Local{}.GetSaveRealPath and subsequently to os.Remove without proper sanitization or checking for path traversal characters (../).
The vulnerable code snippet:
And the helper function in common/service/storage/local.go uses filepath.Join, which resolves ../ but does not enforce a chroot/jail:
PoC
- Log in to the DPanel dashboard to obtain the
Authorizationtoken. - Send a POST request to delete a file (e.g.,
/tmp/1.txtinside the container).
Request:
POST /dpanel/api/common/attach/delete HTTP/1.1
Host: target-ip:8807
Authorization: Bearer <YOUR_TOKEN>
Content-Type: application/x-www-form-urlencoded
path=../../../../../../../../tmp/1.txt
CWEs
- CWE-22 · Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
References
- https://github.com/donknap/dpanel/security/advisories/GHSA-vh2x-fw87-4fxq ↗
- https://github.com/donknap/dpanel/commit/cbda0d90204e8212f2010774345c952e42069119 ↗
- https://nvd.nist.gov/vuln/detail/CVE-2025-66292 ↗
- https://github.com/donknap/dpanel/releases/tag/v1.9.2 ↗
- https://github.com/advisories/GHSA-vh2x-fw87-4fxq ↗