DPanel has an arbitrary file deletion vulnerability in /api/common/attach/delete interface
Description
DPanel is an open source server management panel written in Go. Prior to 1.9.2, 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. 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 (../). And the helper function in common/service/storage/local.go uses filepath.Join, which resolves ../ but does not enforce a chroot/jail. This vulnerability is fixed in 1.9.2.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
github.com/donknap/dpanelGo | < 1.9.2 | 1.9.2 |
Affected products
1Patches
11 file changed · +13 −4
app/common/http/controller/attach.go+13 −4 modified@@ -1,7 +1,6 @@ package controller import ( - "fmt" "log/slog" "os" "path/filepath" @@ -51,11 +50,21 @@ func (self Attach) Delete(http *gin.Context) { if !self.Validate(http, ¶ms) { return } + if !filepath.IsLocal(params.Path) { + self.JsonResponseWithError(http, function.ErrorMessage(define.ErrorMessageCommonDataNotFoundOrDeleted), 500) + return + } + params.Path = filepath.Clean(params.Path) path := storage.Local{}.GetSaveRealPath(params.Path) - fmt.Printf("%v \n", path) _, err := os.Stat(path) - if err == nil { - os.Remove(path) + if err != nil { + self.JsonResponseWithError(http, err, 500) + return + } + err = os.Remove(path) + if err != nil { + self.JsonResponseWithError(http, err, 500) + return } self.JsonSuccessResponse(http) return
Vulnerability mechanics
Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
5- github.com/advisories/GHSA-vh2x-fw87-4fxqghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2025-66292ghsaADVISORY
- github.com/donknap/dpanel/commit/cbda0d90204e8212f2010774345c952e42069119ghsax_refsource_MISCWEB
- github.com/donknap/dpanel/releases/tag/v1.9.2ghsax_refsource_MISCWEB
- github.com/donknap/dpanel/security/advisories/GHSA-vh2x-fw87-4fxqghsax_refsource_CONFIRMWEB
News mentions
0No linked articles in our index yet.