Vite 开发服务器路径遍历漏洞(CVE-2025-30208) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ic3z
V2EX    信息安全

Vite 开发服务器路径遍历漏洞(CVE-2025-30208)

  •  
  •   ic3z 264 天前 5022 次点击
    这是一个创建于 264 天前的主题,其中的信息可能已经有所发展或是发生改变。

    描述

    前端构建工具 Vite 在 6.2.3 、6.1.2 、6.0.12 、5.4.15 及 4.5.10 之前的版本存在安全漏洞。

    正常情况下 @fs 仅允许访问 Vite 服务白名单内的文件,但通过在 URL 后添加?raw??或?import&raw;??参数可绕过限制,返回目标文件内容(若存在)。

    该漏洞成因在于多处代码虽移除了尾部分隔符(如?),但未在查询字符串正则表达式中进行相应处理,导致可读取任意文件内容并返回至浏览器。

    仅当应用显式将 Vite 开发服务器暴露至网络(使用--host 参数或配置 server.host 选项)时才会受影响。该问题已在 6.2.3 、6.1.2 、6.0.12 、5.4.15 和 4.5.10 版本中修复。

    影响

    黑客只需在 URL 中加上魔法咒语"?raw??"或"?import&raw;??",就能绕过 @fs 访问限制,轻松读取你的.env 、API 密钥、.bash_history 甚至那些"绝对不能让人看到"的配置文件!

    没错,你的命令历史和各种密钥可能正在向陌生人招手!

    修复建议

    将 Vite 升级到已修复的版本:6.2.3 、6.1.2 、6.0.12 、5.4.15 或 4.5.10

    如非必要,不要使用--hostserver.host配置选项将开发服务器暴露在网络上

    参考

    https://github.com/advisories/GHSA-x574-m823-4x7w

    25 条回复    2025-03-28 16:43:05 +08:00
    zeroskylian
        1
    zeroskylian  
       264 天前
    之前是 next 现在是 vite ,看来用前端开发服务器还是差点意思, 不是那么完美
    zhengfan2016
        2
    zhengfan2016  
       264 天前 via iPhone   2
    看清楚啊,是开发服务器,又不是生产服务器
    @zeroskylian
    zeroskylian
        3
    zeroskylian  
       264 天前
    @zhengfan2016 #2 刚上班, 脑子没转过来
    wangtian2020
        4
    wangtian2020  
       264 天前
    多大点事儿
    paopjian
        5
    paopjian  
       264 天前
    需要用 vite 做服务器,还要开放到公网, 不过这玩意是咋发现的, 真离谱
    Linho1219
        6
    Linho1219  
       264 天前 via Android
    @paopjian 前段时间 esbuild 的开发服务器也爆了个漏洞好像,挺奇妙的
    xuemian
        7
    xuemian  
       264 天前
    我的扫描器昨天晚上已经发布了
    https://github.com/xuemian168/CVE-2025-30208
    支持 FOFA 自动化和手动操作
    KinBob
        8
    KinBob  
       264 天前
    这个名字起的不好,有歧义
    Vegetable
        9
    Vegetable  
       264 天前
    总有聪明的懒蛋觉得开发服务器也能用来部署
    Nldgdsm
        10
    Nldgdsm  
       264 天前
    @xuemian #7 有点好奇为什么你的 poc 没有别的 POC 的 star 高,明明你的发布时间更早 难道是语言的问题么
    jenson47
        11
    jenson47  
       264 天前
    首先对外的服务器,第一件事就是对端口进行控制,最好就是能不暴露就不暴露,
    如果只是内部使用,可以试试 零信任,或者 ssh 隧道。
    开发的话,可以用 vscode 远程开发插件
    lavvrence
        12
    lavvrence  
       264 天前
    5 分,不太高。毕竟仅仅是 dev server 。真有小白用 dev server 作为 prod hosting 的话,只能说是 skill issue 了。
    sn0wdr1am
        13
    sn0wdr1am  
       264 天前
    用的 Nuxt ,没发现这个问题。
    xuemian
        14
    xuemian  
       264 天前
    @Nldgdsm 大概率是的,而且我的 POC 明显更完善。还有一个原因可能是 TOP1 自带流量
    weijancc
        15
    weijancc  
       264 天前
    内容太夸张了, vite 都是本地开发用的, 根本没有什么隐患
    xuemian
        16
    xuemian  
       264 天前
    @weijancc 其实公网上很多这种情况
    imba97
        17
    imba97  
       264 天前
    @zeroskylian 笑死,刚上班的状态确实是这样的
    liubaicai
        18
    liubaicai  
       264 天前
    哈哈,不排除有人用 vite 起个 npm run dev 跑服务
    dyq917
        19
    dyq917  
       264 天前
    屁大点儿事,一惊一乍,像个菜鸡
    HTML001
        20
    HTML001  
       264 天前
    这玩意儿不是本地开发阶段才用的吗,有人把这个东西上生产?
    lp4298707
        21
    lp4298707  
       264 天前
    什么鬼?意思是会有人在服务器上跑 npm run dev 供外网访问?
    yhxx
        22
    yhxx  
       264 天前
    @lp4298707 真有。。。我有个前同事就干过,npm run dev 然后 nginx 代理这个端口,就这么跑着。。。
    tcper
        23
    tcper  
       264 天前
    vite 这个基本没人 run dev 跑在服务器上,但是 nextjs 之前那个就是推荐 next start 这种命令跑在服务器上的
    leokun
        24
    leokun  
       264 天前
    这还是有点影响的
    有很多人都有公网 IP ,如果端口全漏, 在开发的时候一个不注意被人扫到就随便拿你电脑的文件了
    而且 vite 有 nodejs api,这个可能有一些 node 服务会用到 https://cn.vite.dev/guide/api-Javascript
    也是很危险的
    CinHaiZio
        25
    CinHaiZio  
       263 天前
    @liubaicai 还真有, 之前闲鱼买汉堡王的时候卖家发来 ip:5174 的地址让我在里面点
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     910 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 21:47 PVG 05:47 LAX 13:47 JFK 16:47
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86