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 天
- 百分位
- 77.8%
- 型号日期
- 2026年10月17日
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 版本中修复。
来源
vite/CVE-2025-32395
Vite Development Server Arbitrary File Read via Hash Character Bypass (CVE-2025-32395)
Vulhub vulnerability labs声明的条件
- lab image version: vulhub/vite:6.2.5(vite/CVE-2025-32395/docker-compose.yml:services.web.image)
http/cves/2025/CVE-2025-32395.yaml
Nuclei Templates声明的条件
- network: http($.protocol_keys)
- verification: dsl($.matchers[*].type)
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。