技术社区
安全培训
技术社群
积分商城
先知平台
漏洞库
历史记录
清空历史记录
相关的动态
相关的文章
相关的用户
相关的圈子
相关的话题
注册
登录
Vite 任意文件读取漏洞(CVE-2025-30208)
真爱和自由
历史精选
1267浏览 · 2025-04-03 02:19
返回文档
Vite 任意文件读取漏洞(CVE-2025-30208)
前言
看到群里有人发了一个链接
https://github.com/ThumpBo/CVE-2025-30208-EXP
发现这个漏洞危害很大很大,而且利用起来也是非常的容易
而且资产也是比较多的
于是分析分析这个漏洞
漏洞描述
Vite 是一个现代前端构建工具,为 Web 项目提供更快、更精简的开发体验。它主要由两部分组成:具有热模块替换(HMR)功能的开发服务器,以及使用 Rollup 打包代码的构建命令。在 Vite 6.2.3、6.1.2、6.0.12、5.4.15 和 4.5.10 版本之前,用于限制访问 Vite 服务允许列表之外的文件的 server.fs.deny 功能可被绕过。通过在 URL 的@fs 前缀后增加?raw??或?import&raw??,攻击者可以读取文件系统上的任意文件。
影响版本
环境搭建
参考
https://github.com/advisories/GHSA-x574-m823-4x7w
按照要求我们进行如下搭建
可能会遇到虽然指定了版本,但是任然会安装最新的问题
这样即可解决
搭建成功如下
然后写入文件
漏洞复现
首先是正常去访问我们的文件
可以发现访问失败了
但是如果我们使用 payload 去访问
得到了我们的内容
漏洞分析与修复
Vite 使用 server.fs.allow 机制控制允许访问的目录范围
isFileServingAllowed: 判断某个 URL 是否允许被 Vite 服务器访问。
isFileLoadingAllowed: 具体检查某个文件路径是否符合 Vite 的文件访问规则。
ensureServingAccess: 处理 HTTP 请求,如果文件不被允许访问,则返回 403
可以看到逻辑就是只允许 fs.allow 目录下的文件被访问
对应的防护机制是 server.fs.deny
参考 diff 部分
https://github.com/vitejs/vite/commit/f234b5744d8b74c95535a7b82cc88ed2144263c1#diff-6d94d6934079a4f09596acc9d3f3d38ea426c6f8e98cd766567335d42679ca7cR176
在处理浏览器的请求的时候
其对应的正则匹配模式如下
packages\vite\src\node\utils.ts
然后就是检测我们是否有访问权限
而我们的绕过就是在于刚刚的正则匹配部分
通过对敏感路径加入?raw?? 或 ?import&raw??首先成功通过了正则匹配,而我们的这个 url 被输入 ensureServingAccess 的时候,又会被判定为不是系统文件成功绕过两个
我们看看修复部分是如何修复的
在正则匹配之前都会使用 urlWithoutTrailingQuerySeparators 方法去处理
trailingQuerySeparatorsRE 对应如下
而且权限检测现在是检测 urlWithoutTrailingQuerySeparators 处理后的文件了
会输出 Access Denied!
这样成功防止了我们的漏洞
原文件不好调试,把逻辑移动到了自己文件上看效果
0
人收藏
0
人喜欢
转载
分享
0
条评论
某人
表情
可输入
255
字
评论
发布投稿
热门文章
1
契约锁电子签章系统 pdfverifier 远程代码执行漏洞分析(补丁包逆向分析)
2
COFF文件解析 | CoffLdr
3
Java内存马篇——WebSocket内存马及GodZilla二开
4
从零掌握java内存马大全(基于LearnJavaMemshellFromZero复现重组)
5
突破网络限制,Merlin Agent助你轻松搭建跳板网络!
近期热点
一周
月份
季度
1
契约锁电子签章系统 pdfverifier 远程代码执行漏洞分析(补丁包逆向分析)
2
COFF文件解析 | CoffLdr
3
Java内存马篇——WebSocket内存马及GodZilla二开
4
从零掌握java内存马大全(基于LearnJavaMemshellFromZero复现重组)
5
突破网络限制,Merlin Agent助你轻松搭建跳板网络!
暂无相关信息
暂无相关信息
优秀作者
1
T0daySeeker
贡献值:41700
2
一天
贡献值:24800
3
Yale
贡献值:24000
4
1674701160110592
贡献值:21800
5
1174735059082055
贡献值:16000
6
手术刀
贡献值:14000
7
Loora1N
贡献值:13000
8
bkbqwq
贡献值:12800
9
lufei
贡献值:11000
10
xsran
贡献值:10600
目录
Vite 任意文件读取漏洞(CVE-2025-30208)
前言
漏洞描述
环境搭建
漏洞复现
漏洞分析与修复
转载
标题
作者:
你好
http://www.a.com/asdsabdas
文章
转载
自
复制到剪贴板