支持本站 — 捐款将帮助我们持续运营

目标:1000 元,已筹:736

73.6%
一、 漏洞 CVE-2025-66292 基础信息
漏洞信息
                                        # DPanel 任意文件删除漏洞

## 概述
DPanel 是一个使用 Go 编写的开源服务器管理面板。在 1.9.2 之前版本中,`/api/common/attach/delete` 接口存在任意文件删除漏洞,经认证用户可利用路径遍历删除服务器上的任意文件。

## 影响版本
- 影响版本:DPanel < 1.9.2
- 修复版本:DPanel >= 1.9.2

## 细节
- 漏洞位于 `app/common/http/controller/attach.go` 文件的 `Delete` 函数。
- 用户提交的 `path` 参数未经充分校验,直接传入 `storage.Local{}.GetSaveRealPath`,最终传递给 `os.Remove`。
- `common/service/storage/local.go` 中的辅助函数使用 `filepath.Join` 处理路径,虽可解析 `../`,但未设置根目录限制(无 chroot/jail 机制),导致路径遍历可突破原始目录限制。

## 影响
经认证用户可删除服务器上的任意文件,可能导致服务中断、配置丢失或远程代码执行(若关键文件被删除或替换),造成严重安全风险。
                                        
神龙判断

是否为 Web 类漏洞: 未知

判断理由:

N/A
提示
尽管我们采用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。
神龙会尽力确保数据准确,但也请结合实际情况进行甄别与判断。
神龙祝您一切顺利!
漏洞标题
DPanel has an arbitrary file deletion vulnerability in /api/common/attach/delete interface
来源:美国国家漏洞数据库 NVD
漏洞描述信息
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.
来源:美国国家漏洞数据库 NVD
CVSS信息
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
来源:美国国家漏洞数据库 NVD
漏洞类别
对路径名的限制不恰当(路径遍历)
来源:美国国家漏洞数据库 NVD
漏洞标题
Dpanel 安全漏洞
来源:中国国家信息安全漏洞库 CNNVD
漏洞描述信息
Dpanel是Donknap开源的一款轻量化的 Docker 可视化管理面板,提供完善的容器管理功能。 DPanel 1.9.2之前版本存在安全漏洞,该漏洞源于/api/common/attach/delete接口存在路径遍历,可能导致任意文件删除。
来源:中国国家信息安全漏洞库 CNNVD
CVSS信息
N/A
来源:中国国家信息安全漏洞库 CNNVD
漏洞类别
其他
来源:中国国家信息安全漏洞库 CNNVD
二、漏洞 CVE-2025-66292 的公开POC
#POC 描述源链接神龙链接
三、漏洞 CVE-2025-66292 的情报信息
  • 标题: Release v1.9.2 · donknap/dpanel · GitHub -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            ### 关键漏洞信息
    
    **修复的漏洞:**
    
    - **CVE-2025-6629**: 修复了通过挂载文件的方式添加 compose 任务时,没有读取 dpanel-override.yaml 覆盖文件的问题。
                                            
    Release v1.9.2 · donknap/dpanel · GitHub
  • 标题: Arbitrary file deletion vulnerability in /api/common/attach/delete interface · Advisory · donknap/dpanel · GitHub -- 🔗来源链接

    标签:x_refsource_CONFIRM

    神龙速读:
                                            ## 关键漏洞信息
    
    - **漏洞类型**: 任意文件删除漏洞
    - **受影响的版本**: <1.9.1.3
    - **修复版本**: 无
    - **漏洞严重性**: 8.1 / 10 (高)
    - **CVE ID**: CVE-2025-66292
    
    ### 漏洞描述
    
    #### 概要
    DPanel 存在一个任意文件删除漏洞,在 `/api/common/attach/delete` 接口中,认证用户可以通过路径遍历删除服务器上的任意文件。
    
    #### 详细信息
    - 当用户登录到管理后台时,可以使用此接口删除文件。
    - 漏洞存在于 `app/common/http/controller/attach.go` 文件的 `Delete` 函数中。
    - 用户提交的 `path` 参数直接传递给 `storage.Local{}.GetSaveRealPath`,最终传递给 `os.Remove`,没有进行适当的路径遍历检查。
    
    ```go
    // 漏洞代码片段
    func (self *Attach) Delete(http *gin.Context) {
        type ParamsValidate struct {
            Path string `form:"path" binding:"required"`
        }
        params := ParamsValidate{}
        if !self.Validate(http, &params) {
            return
        }
        path := storage.Local{}.GetSaveRealPath(params.Path)
        fmt.Printf("%v ", path)
        _, err := os.Stat(path)
        if err == nil {
            os.Remove(path)
        }
        self.JsonSuccessResponse(http)
        return
    }
    ```
    
    ### PoC(概念验证)
    1. 登录 DPanel 控制台获取 `Authorization` token。
    2. 发送 POST 请求删除文件(例如:`/tmp/1.txt`)。
    
    #### 请求示例
    ```http
    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
    ```
    
    ### 弱点
    - CWE-22: 路径遍历
    - CWE-73: 外部控制的文件名或路径
    
    ### 归功于
    - 报告人: pyroxenites
                                            
    Arbitrary file deletion vulnerability in /api/common/attach/delete interface · Advisory · donknap/dpanel · GitHub
  • 标题: fix CVE-2025-66292 · donknap/dpanel@cbda0d9 · GitHub -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            - **漏洞ID**: CVE-2025-6629
    - **受影响文件**: `app/common/http/controller/attach.go`
    - **提交信息**: `fix CVE-2025-6629`
    - **更改摘要**:
      - 移除了对`fmt`包的导入。
      - 添加了对文件路径是否为本地路径的检查,避免了潜在的路径遍历漏洞。
      - 添加了对文件路径进行清理的步骤,确保路径的安全性。
      - 移除了调试信息打印。
      - 处理了文件删除时的错误,避免了因错误处理不当而产生的漏洞。
    - **提交作者**: donknap
    - **提交时间**: 2025年12月1日
                                            
    fix CVE-2025-66292 · donknap/dpanel@cbda0d9 · GitHub
  • https://nvd.nist.gov/vuln/detail/CVE-2025-66292
四、漏洞 CVE-2025-66292 的评论

暂无评论


发表评论