CVE-2025-32395
Vite 存在一个可通过无效的 request-target 绕过 server.fs.deny 的漏洞
- 已发布
- 2025年4月10日
- 已更新
- 2025年4月10日
- 分配 CNA
- GitHub_M
- 观察到的证据
- 2026年8月8日
初级CVSS
nvd · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X低 · 未来 30 天
- 百分位
- 76.5%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
Vite 是一个用于 JavaScript 的前端工具框架。在 6.2.6、6.1.5、6.0.15、5.4.18 和 4.5.13 版本之前,如果开发服务器运行在 Node 或 Bun 上,任意文件的内容都可能被返回给浏览器。HTTP 1.1 规范(RFC 9112)不允许在请求目标(request-target)中包含 `#`。尽管攻击者可以发送此类请求。对于这些具有无效请求行(包含请求目标)的请求,规范建议以 400 或 301 状态码拒绝它们。HTTP 2 也是如此。在 Node 和 Bun 上,这些请求不会被内部拒绝,而是被传递到用户空间。对于这些请求,`http.IncomingMessage.url` 的值包含 `#`。Vite 在检查 `server.fs.deny` 时假定 `req.url` 不会包含 `#`,从而允许此类请求绕过检查。只有将 Vite 开发服务器显式暴露到网络(使用 `--host` 或 `server.host` 配置选项)并在非 Deno 运行时(例如 Node、Bun)上运行 Vite 开发服务器的应用才会受到影响。此漏洞已在 6.2.6、6.1.5、6.0.15、5.4.18 和 4.5.13 版本中修复。
来源
2Exploitation guide and automated detection script for four Vite dev server arbitrary file read vulnerabilities (CVE-2025-30208/31125/31486/32395) with Linux and Windows examples. 翻译: 针对四个 Vite 开发服务器任意文件读取漏洞 (CVE-2025-30208/31125/31486/32395) 的利用指南和自动化检测脚本,包含 Linux 和 Windows 示例。
CVE-2025-32395-POC
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。