Vite敏感信息泄露漏洞(CVE-2026-53571)
漏洞概述
Vite 开发服务器通过 server.fs.deny 配置(包含 .env、.env.*、*.{crt,pem} 等条目)拒绝直接访问敏感文件。但在 Windows 系统上,拒绝逻辑在访问检查之前未正确规范化 NTFS 备用数据流(ADS)路径形式。
因此,像 /.env::$DATA?raw 这样的请求会被视为允许的路径,而 Windows 会将其解析为原始文件的默认数据流。
类似地,Windows 允许通过 8.3 短文件名兼容功能以不同名称访问文件,而 Vite 并未拒绝通过此类名称访问文件。
补充:vite 开发服务器提供了一个安全机制 server.fs ,用于限制前端开发服务器对文件系统中敏感文件的直接访问 。其默认配置位置在node_modules\vite\dist\node\chunks\node.js_serverConfigDefaults的fs-->deny,这里deny了.env和各种pem、crt文件。这些模式会被编译成一个picomatch的glob匹配函数。也就是说,配置中的.env会被扩展为**/.env ,用于匹配任意目录下的.env 文件。开发模式下,windows环境下当访问的路径为/.env::$DATA?raw可以绕过server.fs.deny限制读取.env这类敏感文件。

影响范围
仅符合以下条件的应用会受到影响:
-
明确将 Vite 开发服务器暴露到网络(使用
--host或server.host配置项); -
敏感文件位于
server.fs.allow所允许的目录内; -
满足以下任一情形:
-
敏感文件存在于 NTFS 卷中;
-
开发服务器运行在 Windows 上,且敏感文件所在的卷启用了 8.3 短文件名生成功能(系统卷默认启用)。
-
搜索引擎
fofa: body="/@vite/client"
漏洞复现
Payload:
/.env::$DATA?raw
/tls.pem::$DATA?raw


修复建议
升级至安全版本
参考
https://github.com/vitejs/vite/security/advisories/GHSA-fx2h-pf6j-xcff
https://mp.weixin.qq.com/s/MTSrB7F1AV9nQWnkK5yZbQ
浙公网安备 33010602011771号