描述
前端构建工具 Vite 在 6.2.3 、6.1.2 、6.0.12 、5.4.15 及 4.5.10 之前的版本存在安全漏洞。
正常情况下 仅允许访问 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;??",就能绕过 访问限制,轻松读取你的.env 、API 密钥、.bash_history 甚至那些"绝对不能让人看到"的配置文件!
没错,你的命令历史和各种密钥可能正在向陌生人招手!
修复建议
将 Vite 升级到已修复的版本:6.2.3 、6.1.2 、6.0.12 、5.4.15 或 4.5.10
如非必要,不要使用--host或server.host配置选项将开发服务器暴露在网络上
参考
github.com/advisories/GHSA-x574-m823-4x7w

之前是 next 现在是 vite ,看来用前端开发服务器还是差点意思, 不是那么完美

看清楚啊,是开发服务器,又不是生产服务器

#2 刚上班, 脑子没转过来

多大点事儿

需要用 vite 做服务器,还要开放到公网, 不过这玩意是咋发现的, 真离谱

前段时间 esbuild 的开发服务器也爆了个漏洞好像,挺奇妙的

我的扫描器昨天晚上已经发布了
github.com/xuemian168/CVE-2025-30208
支持 FOFA 自动化和手动操作

这个名字起的不好,有歧义

总有聪明的懒蛋觉得开发服务器也能用来部署

#7 有点好奇为什么你的 poc 没有别的 POC 的 star 高,明明你的发布时间更早 难道是语言的问题么

首先对外的服务器,第一件事就是对端口进行控制,最好就是能不暴露就不暴露,
如果只是内部使用,可以试试 零信任,或者 ssh 隧道。
开发的话,可以用 vscode 远程开发插件

5 分,不太高。毕竟仅仅是 dev server 。真有小白用 dev server 作为 prod hosting 的话,只能说是 skill issue 了。

用的 Nuxt ,没发现这个问题。

大概率是的,而且我的 POC 明显更完善。还有一个原因可能是 TOP1 自带流量

内容太夸张了, vite 都是本地开发用的, 根本没有什么隐患

其实公网上很多这种情况

笑死,刚上班的状态确实是这样的

哈哈,不排除有人用 vite 起个 npm run dev 跑服务

屁大点儿事,一惊一乍,像个菜鸡

这玩意儿不是本地开发阶段才用的吗,有人把这个东西上生产?

什么鬼?意思是会有人在服务器上跑 npm run dev 供外网访问?

真有。。。我有个前同事就干过,npm run dev 然后 nginx 代理这个端口,就这么跑着。。。