CVE-2025-30208 – Vite开发服务器中的@fs路径遍历绕过导致任意文件读取
概述
CVE-2025-30208是Vite开发服务器中的一个任意文件读取漏洞。该漏洞允许远程未经身份验证的攻击者通过滥用Vite的@fs URL处理功能,访问服务器文件系统上的任意文件。
CVE ID: CVE-2025-30208
严重性: 中等
CVSS评分: 5.3
EPSS评分: 75.83%
影响: 信息泄露
攻击向量: 网络
需要身份验证: 否
受影响组件: Vite开发服务器中的@fs路径处理器
此问题影响在开发模式下运行Vite的应用程序,如果开发服务器可远程访问,则会暴露敏感的服务器端文件。
技术分析
Vite支持特殊路径,如/@fs/absolute/path
,用于在开发期间直接从文件系统导入文件。通常,Vite会限制访问其允许列表(即项目根目录)之外的文件。
然而,通过在请求中附加?import&raw??
,攻击者可以绕过此保护,强制Vite读取并返回任意文件内容作为原始ES模块导出。
利用条件
- 应用程序正在运行Vite开发服务器(通常在端口5173上)。
- 服务器可远程访问(例如,通过互联网或内网暴露)。
- 攻击者可以向开发服务器发出特制的HTTP GET请求。
- 目标文件可由运行Vite进程的用户读取。
漏洞代码行为
预期行为:
|
|
安全绕过(漏洞利用):
|
|
双问号(??
)混淆了Vite的导入解析器,绕过了默认的允许列表限制,并启用了任意文件泄露。服务器响应包含包装在ES模块export default
中的文件内容。
缓解措施
- 切勿将Vite的开发服务器暴露给公共互联网。
- 升级Vite到最新的修补版本,其中修复了此绕过问题。
- 考虑在仅本地代理或严格防火墙规则后运行开发服务器。