# 通过 /. 绕过 Vite 的 server.fs.deny 限制从而访问项目根目录下的文件
## 漏洞概述
Vite是一款前端开发工具框架,由于存在的漏洞,允许攻击者通过特定文件匹配模式获取被拒绝的项目根目录中的文件内容,从而返回给浏览器。
## 影响版本
- 6.3.4 之前版本
- 6.2.7 之前版本
- 6.1.6 之前版本
- 5.4.19 之前版本
- 4.5.14 之前版本
## 细节
只有明确暴露Vite开发服务器到网络的应用受到影响(使用 `--host` 或 `server.host` 配置选项)。仅限于项目根目录下的文件并且被文件匹配模式拒绝的文件可以被绕过。`server.fs.deny` 可以包含匹配文件模式的规则(默认包含 `.env`, `.env.*`, `*.{crt,pem}` 等模式)。通过使用斜杠和点的组合 (`/.`),这些模式可以绕过并访问到相应文件。
## 影响
该问题在版本6.3.4、6.2.7、6.1.6、5.4.19及4.5.14中已修复。未更新到这些版本并暴露Vite开发服务器的应用可能存在访问被拒绝文件的风险。
# | POC 描述 | 源链接 | 神龙链接 |
---|
标题: `server.fs.deny` bypassed with `/.` for files under project `root` · Advisory · vitejs/vite · GitHub -- 🔗来源链接
标签: x_refsource_CONFIRM
标题: fix: check static serve file inside sirv (#19965) · vitejs/vite@c22c43d · GitHub -- 🔗来源链接
标签: x_refsource_MISC