
前端构建工具 Vite 在 6.2.3 、6.1.2 、6.0.12 、5.4.15 及 4.5.10 之前的版本存在安全漏洞。
正常情况下 @fs 仅允许访问 Vite 服务白名单内的文件,但通过在 URL 后添加?raw??或?import&raw;??参数可绕过限制,返回目标文件内容(若存在)。
该漏洞成因在于多处代码虽移除了尾部分隔符(如?),但未在查询字符串正则表达式中进行相应处理,导致可读取任意文件内容并返回至浏览器。
仅当应用显式将 Vite 开发服务器暴露至网络(使用--host 参数或配置 server.host 选项)时才会受影响。该问题已在 6.2.3 、6.1.2 、6.0.12 、5.4.15 和 4.5.10 版本中修复。
黑客只需在 URL 中加上魔法咒语"?raw??"或"?import&raw;??",就能绕过 @fs 访问限制,轻松读取你的.env 、API 密钥、.bash_history 甚至那些"绝对不能让人看到"的配置文件!
没错,你的命令历史和各种密钥可能正在向陌生人招手!
将 Vite 升级到已修复的版本:6.2.3 、6.1.2 、6.0.12 、5.4.15 或 4.5.10
如非必要,不要使用--host或server.host配置选项将开发服务器暴露在网络上
1 zeroskylian 264 天前 之前是 next 现在是 vite ,看来用前端开发服务器还是差点意思, 不是那么完美 |
2 zhengfan2016 264 天前 via iPhone 看清楚啊,是开发服务器,又不是生产服务器 @zeroskylian |
3 zeroskylian 264 天前 @zhengfan2016 #2 刚上班, 脑子没转过来 ![]() |
4 wangtian2020 264 天前 多大点事儿 |
5 paopjian 264 天前 需要用 vite 做服务器,还要开放到公网, 不过这玩意是咋发现的, 真离谱 |
7 xuemian 264 天前 |
8 KinBob 264 天前 这个名字起的不好,有歧义 |
9 Vegetable 264 天前 总有聪明的懒蛋觉得开发服务器也能用来部署 |
11 jenson47 264 天前 首先对外的服务器,第一件事就是对端口进行控制,最好就是能不暴露就不暴露, 如果只是内部使用,可以试试 零信任,或者 ssh 隧道。 开发的话,可以用 vscode 远程开发插件 |
12 lavvrence 264 天前 5 分,不太高。毕竟仅仅是 dev server 。真有小白用 dev server 作为 prod hosting 的话,只能说是 skill issue 了。 |
13 sn0wdr1am 264 天前 用的 Nuxt ,没发现这个问题。 |
15 weijancc 264 天前 内容太夸张了, vite 都是本地开发用的, 根本没有什么隐患 |
17 imba97 264 天前 @zeroskylian 笑死,刚上班的状态确实是这样的 |
18 liubaicai 264 天前 哈哈,不排除有人用 vite 起个 npm run dev 跑服务 |
19 dyq917 264 天前 屁大点儿事,一惊一乍,像个菜鸡 |
20 HTML001 264 天前 这玩意儿不是本地开发阶段才用的吗,有人把这个东西上生产? |
21 lp4298707 264 天前 什么鬼?意思是会有人在服务器上跑 npm run dev 供外网访问? |
23 tcper 264 天前 vite 这个基本没人 run dev 跑在服务器上,但是 nextjs 之前那个就是推荐 next start 这种命令跑在服务器上的 |
24 leokun 264 天前 这还是有点影响的 有很多人都有公网 IP ,如果端口全漏, 在开发的时候一个不注意被人扫到就随便拿你电脑的文件了 而且 vite 有 nodejs api,这个可能有一些 node 服务会用到 https://cn.vite.dev/guide/api-Javascript 也是很危险的 |