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这类敏感文件。

image

影响范围

仅符合以下条件的应用会受到影响:

  • 明确将 Vite 开发服务器暴露到网络(使用 --hostserver.host 配置项);

  • 敏感文件位于 server.fs.allow 所允许的目录内;

  • 满足以下任一情形:

    • 敏感文件存在于 NTFS 卷中;

    • 开发服务器运行在 Windows 上,且敏感文件所在的卷启用了 8.3 短文件名生成功能(系统卷默认启用)。

搜索引擎

fofa: body="/@vite/client"

漏洞复现

Payload:

/.env::$DATA?raw

/tls.pem::$DATA?raw

image

image

修复建议

升级至安全版本

参考

https://github.com/vitejs/vite/security/advisories/GHSA-fx2h-pf6j-xcff
https://mp.weixin.qq.com/s/MTSrB7F1AV9nQWnkK5yZbQ

posted @ 2026-07-14 20:55  zhengna  阅读(38)  评论(0)    收藏  举报