点击有惊喜

Vitest 是目前最流行的 JavaScript 测试框架之一,npm 周下载量超过 6523 万。近日 Vitest 曝出未授权任意文件读取漏洞(CVE-2026-47429,CVSS:9.8),攻击者无需任何凭据,仅需获取页面暴露的 API Token,即可通过路径穿越读取服务器上的任意文件,导致敏感数据泄露。 此漏洞影响范围广泛,建议用户立即升级。

利用前置条件:

  • 目标服务器运行 Vitest UI 服务

目前 360漏洞挖掘智能体已成功复现该漏洞。本文包含完整影响范围、修复方案、技术原理与复现细节,建议用户立即升级。

漏洞概述
漏洞名称 Vitest 未授权任意文件读取漏洞
漏洞编号 CVE-2026-47429
公开时间 2026-05-19 POC状态 已公开
漏洞类型 路径穿越 / 任意文件读取 EXP状态 已公开
利用可能性 技术细节状态 已公开
CVSS 3.1 9.8 在野利用状态 未发现

01 漏洞影响范围

受影响的软件版本:

vitest 版本 < 4.1.0

02 修复建议

正式防护方案:

受影响用户请立即升级至以下安全版本:

4.1.0 及更高版本

03 漏洞描述

近日,Vitest 曝出未授权任意文件读取漏洞(CVE-2026-47429,CVSS 9.8)。

该漏洞存在于 @vitest/ui 插件的 /_vitest_attachment__文件读取接口中。 Vitest UI 服务启动后会将 API Token 以明文形式写入 HTML 页面,任何可访问该页面的用户均可获取该Token。攻击者利用获取的 Token调用文件读取接口,配合 ?..\ 路径穿越 payload,可绕过isFileServingAllowed 安全检查函数,实现对项目目录外任意文件的读取。漏洞根因在于 /_vitest_attachment__的 API handler 对 isFileServingAllowed 函数的使用方式不正确。该函数期望调用方在完成安全检查后、执行文件系统操作前,对路径执行 cleanUrl 清理。然而攻击者可通过注入 ?..\ 绕过检查。该漏洞仅在 Windows 平台上可利用,因为 Linux 在目录 ? 不存在时会直接报错,无法完成穿越。

该漏洞无需身份验证,利用难度低,可导致数据库凭证、密钥、配置文件等敏感信息泄露。

04 漏洞复现

我们已成功复现该漏洞,通过访问 Vitest UI 页面获取 API Token,配合路径穿越 payload 调用文件读取接口,即可读取服务器上的文件。

05 产品侧支持情况

**360安全智能体:**支持该漏洞攻击的智能分析。

360测绘云 Quake:默认支持该产品的指纹识别。

360高级持续性威胁预警系统:预计 2026年06月07日发布规则更新包,支持该漏洞利用行为的检测。

360资产与漏洞检测管理系统:预计 2026年06月07日发布规则更新包,支持该漏洞利用行为的检测。
本地安全大脑:默认支持该漏洞的PoC检测。

06 时间线

2026年06月05日,360漏洞研究院发布本安全风险通告。

07 参考链接

https://github.com/vitest-dev/vitest/security/advisories/GHSA-5xrq-8626-4rwp

https://www.cve.org/CVERecord?id=CVE-2026-474297

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐