IPBUF安全漏洞报告
English
CVE-2026-33242 CVSS 7.5 高危

CVE-2026-33242 Salvo路径遍历漏洞

披露日期: 2026-03-24

漏洞信息

漏洞编号
CVE-2026-33242
漏洞类型
路径遍历, 访问控制绕过
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Salvo

相关标签

Path TraversalAccess Control BypassSalvoRustCVE-2026-33242Proxy Vulnerability

漏洞概述

Salvo Web框架的salvo-proxy组件在0.39.0至0.89.2版本中存在路径遍历与访问控制绕过漏洞。由于encode_url_path函数未对“.”字符重新编码,未经认证的攻击者可利用“../”序列绕过代理路由限制,直接访问受保护的后端路径或管理后台。该漏洞无需用户交互即可远程利用,风险较高,升级至0.89.3版本可修复。

技术细节

该漏洞位于Salvo框架的salvo-proxy组件,核心问题出在encode_url_path函数的实现逻辑中。正常情况下,代理应当对URL路径进行规范化处理以防止目录遍历攻击。然而,受影响版本的该函数在处理路径字符时,未对“.”字符进行重新编码,导致无法将“../”序列识别为具有特殊含义的跳转指令。攻击者利用这一缺陷,可以向代理服务器发送包含“../”的恶意HTTP请求。代理服务器未能拦截该请求,而是将其原样转发给后端上游服务器。上游服务器解析路径后,将请求导向上层目录,从而使攻击者成功绕过代理层的安全路由限制,访问到受保护的内部管理界面或敏感数据接口。

攻击链分析

STEP 1
侦察
攻击者发现目标系统使用Salvo框架并启用了salvo-proxy组件。
STEP 2
构造攻击载荷
攻击者构造包含“../”序列的恶意URL,试图利用encode_url_path函数未编码点字符的缺陷。
STEP 3
发送请求
攻击者向代理服务器发送特制的HTTP请求,无需进行身份认证。
STEP 4
绕过代理
代理服务器接收请求,由于路径未规范化,将包含“../”的路径原样转发至后端服务器。
STEP 5
访问受限资源
后端服务器解析路径,攻击者成功访问预期之外的受保护端点或管理后台。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-33242 # The vulnerability allows bypassing proxy routing via unencoded '.' in '../' import requests target_url = "http://[target_host]/[public_endpoint]/../../[protected_path]" # Example: If the proxy maps /public to backend /app/public # accessing /public/../../admin might reach backend /app/admin response = requests.get(target_url) if response.status_code == 200: print("Vulnerable! Access to restricted path granted.") print(response.text) else: print("Exploit failed or path not found.")

影响范围

Salvo 0.39.0
Salvo 0.39.1
Salvo 0.89.2

防御指南

临时缓解措施
如果无法立即升级,建议在代理服务器或上游服务器前部署WAF,严格过滤并拦截URL中包含“../”或“%2e%2e/”等路径遍历特征的请求。同时,限制后端服务器的访问控制列表(ACL),仅允许代理服务器的IP地址访问,并禁用不必要的后台管理接口对外暴露。

参考链接

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