🔴 【深度分析】严重安全漏洞:CVE-2026-63766

CVSS 评分: 严重(9.3)🔴  状态: Deferred  发布时间: 2026-07-20


🔍 技术细节速览

字段 值
CVE ID CVE-2026-63766
CVSS 评分 9.3 🔴
严重程度 严重
CVSS 向量 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CWE 分类 CWE-78
发布时间 2026-07-20
最后更新 2026-07-23
状态 Deferred
数据来源 disclosure@vulncheck.com

CVSS 评分:9.3(严重)
CVSS 4.0 向量: AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CWE-78:OS 命令注入
状态:Deferred(延迟处理)


漏洞概述

GPT-SoVITS(版本截至 20250606v2pro)的 Web UI 模块 webui.py 中存在一个严重操作系统命令注入漏洞。攻击者无需任何身份验证,即可通过向 ASR(自动语音识别)、slice(切片)、denoise(降噪)和 uvr5(人声分离)等功能传递特制的路径参数,注入 Shell 元字符,从而在服务器上以进程用户身份执行任意命令。该漏洞利用复杂度低,攻击向量为网络远程,可导致机密性、完整性和可用性的完全丧失。

受影响组件与版本

  • 组件: GPT-SoVITS Web UI(webui.py 中的 ASR、slice、denoise、uvr5 函数)
  • 受影响版本: 所有版本至 20250606v2pro(含该版本)
  • 疑似修复版本: 暂无官方补丁,状态为 Deferred。

漏洞原理分析

成因

漏洞源于 webui.py 在处理用户输入的路径参数时,直接将未经过滤的 Gradio 文本框内容拼接到 Shell 命令中,并通过 Python 的 subprocess 或 os.system 以 shell=True 执行。这类函数会将字符串解析为完整的命令行,因此若输入中包含 Shell 元字符(如 ;, |, `, $(), && 等),即可被解释为命令分隔符或子命令执行。

攻击向量

攻击者通过向以下任一功能接口发送特制的 HTTP 请求,即可触发命令注入:

  • ASR 路径参数:指定音频文件或输出目录时注入命令;
  • Slice 路径参数:切片操作的输入/输出路径;
  • Denoise 路径参数:降噪处理的文件路径;
  • UVR5 路径参数:人声分离的模型或音频路径。

由于 Gradio 默认将用户输入作为字符串传递,而 webui.py 未进行任何输入验证(如白名单字符过滤、路径规范化、命令参数化),故攻击者可直接在路径字段中嵌入恶意 Shell 命令。

示例(理论构造)

; id > /tmp/pwned.txt

若该值被拼接到类似 ffmpeg -i <INPUT> ... shell=True 的命令中,则 id 命令会被执行。

影响评估

维度 评估结果
攻击复杂度 (AC) 低(无特殊条件,仅需发送一条 HTTP 请求)
权限要求 (PR) 无(无需身份认证)
用户交互 (UI) 无(无需受害者操作)
影响范围 机密性、完整性、可用性均为高
潜在后果 完全服务器控制权、数据泄露、植入后门、横向移动、利用获取的 shell 提权等
利用可能性 极高(公开漏洞利用代码很可能已存在)

综合 CVSS 4.0 向量,攻击者可在网络远程、无需任何认证和交互、极低复杂度下实现最大程度破坏,属于极其危险的“一键 RCE”类漏洞。

修复建议

官方修复

  • 目前官方未发布补丁(状态:Deferred)。建议关注 GPT-SoVITS 官方仓库更新,尽快升级至修复版本(若有)。

临时缓解措施(在补丁发布前)

  1. 收紧网络访问控制:将 Web UI 服务仅绑定到本地回环地址(127.0.0.1),或通过防火墙、反向代理限制仅内网可信 IP 访问。
  2. 禁用高风险功能:暂时屏蔽 ASR、slice、denoise、uvr5 等涉及 shell 调用的接口,或在其前端增加验证。
  3. 使用最小权限运行服务:以非 root 用户运行 webui.py,并限制该用户的系统命令执行权限(如通过 rbash 或容器隔离)。
  4. 输入验证与参数化:在代码层面替代简单的字符串拼接,改用安全的子进程调用方式:
    • 避免使用 shell=True;
    • 使用 subprocess.run([command, arg1, arg2]) 传递参数列表;
    • 对路径参数进行白名单校验(仅允许字母、数字、短划线、下划线、点、斜杠等安全字符)。
  5. 部署 WAF 规则:在 Web 代理层添加规则,拦截包含 Shell 元字符(如 ;, |, &, $)的请求参数。

参考资料


⚠️ 重要提示:该漏洞尚未被正式修复,仍在 Deferred 状态。所有使用 GPT-SoVITS Web UI 的用户应立即采取措施隔离风险。若业务必须暴露服务,请务必采用最小权限运行并严格限制访问。