CosyVoice gRPC 服务器不安全反序列化漏洞 CVE-2026-31251
CVE-2026-31251: CosyVoice gRPC 服务器通过 torch.load() 反序列化不受信任的模型,而没有设置 weights_only=True,从而允许通过精心制作的 .pt 文件实现 RCE。尚未确认补丁。

Indicators of Compromise (1)
| Type ↑ | Value | Description | Conf | |
|---|---|---|---|---|
| SHA1 | 6e01309e01bc93bbeb83bdd996b1182a81aaf11e | Extracted from source material | high |
执行摘要
一个关键的不安全反序列化漏洞,被追踪为CVE-2026-31251,已在CosyVoice文本到语音(TTS)框架中被披露。该漏洞存在于gRPC服务器组件中,该组件使用PyTorch的torch.load()函数加载语音合成模型,而没有启用weights_only=True安全参数。能够向服务器提供精心制作的模型文件(例如,.pt文件)的攻击者可以实现远程代码执行(RCE),拥有CosyVoice进程的权限。该漏洞的CVSS v3.1基础得分为9.8,反映了其网络可利用性、低攻击复杂性以及无需认证的要求。根据国家漏洞数据库(NVD)条目,该漏洞影响CosyVoice通过提交6e01309e01bc93bbeb83bdd996b1182a81aaf11e(日期为2025-30-21)。在发布时,项目维护者尚未发布官方补丁,也没有正式记录任何变通方法。
技术分析
CosyVoice是由FunAudioLLM(阿里巴巴集团下的一个项目)开发的开源、多语言语音合成框架。它提供了一个基于gRPC的服务器,该服务器接受从文本生成语音的请求。服务器在启动时从一个用户指定的目录加载预训练的PyTorch模型文件(.pt或.pth)。
漏洞根源在于服务器使用torch.load()来反序列化这些模型文件。默认情况下,torch.load()允许反序列化任意Python对象,包括那些在解包过程中可以执行代码的对象。PyTorch在1.10版本(2021年10月发布)中特别引入了weights_only=True参数,以缓解这类攻击。当设置为True时,反序列化器将解包的对象限制在张量和序列化原语的安全允许列表中,防止执行任意Python代码。
根据NVD描述,CosyVoice gRPC服务器在调用torch.load()时未能设置weights_only=True。这个遗漏意味着任何能够向服务器传递恶意制作的.pt文件的攻击者都可以实现任意代码执行。攻击向量被归类在CWE-502:不信任数据的反序列化下。
利用场景很简单:具有对gRPC服务器端点网络访问权限的攻击者可以发送请求,导致服务器从攻击者控制的路径加载模型文件,或者如果获得了写入访问权限,可以替换磁盘上的合法模型文件。一旦恶意文件被反序列化,嵌入的有效载荷就在服务器的Python进程中执行。NVD评估指出,攻击复杂性低,无需权限,也不需要用户交互,只需初始服务器启动或模型加载操作。
需要注意的是,漏洞特别存在于gRPC服务器组件中。仅通过其Python API或命令行推理脚本与CosyVoice交互的用户可能不会受到影响,尽管这一点尚未由维护者明确确认。受影响的提交哈希是6e01309e01bc93bbeb83bdd996b1182a81aaf11e,NVD列出的日期为“2025-30-21”——可能是2025-03-21或2025-10-21的打字错误,但提交本身是公开可访问的。
缓解措施与建议
截至2026年5月12日,CosyVoice维护者尚未发布官方补丁。运营CosyVoice gRPC服务器的防御者应采取以下步骤:
- 限制对gRPC服务器端点的网络访问。使用防火墙规则或网络分割来限制连接到受信任的客户端。服务器不应暴露在互联网或不受信任的网络中。
- 验证模型文件来源。确保只加载来自受信任、经过验证的来源的模型文件。在加载任何
.pt文件之前实施文件完整性检查(例如,加密哈希或签名)。 - 监控异常模型加载。在gRPC服务器上启用日志记录,以检测意外的文件路径或重复的加载尝试。探测漏洞的攻击者可能会触发多次模型加载请求。
- 应用代码级变通方法。如果您可以访问CosyVoice源代码,在gRPC服务器处理程序中定位
torch.load()调用,并添加weights_only=True到调用中。这个更改对于标准模型文件是向后兼容的,并阻止反序列化任意Python对象。在部署到生产环境之前进行彻底测试。 - 考虑使用不依赖于
torch.load()的替代TTS服务器,用于不受信任的输入,或者将CosyVoice服务器包装在一个具有最小权限和模型目录只读文件系统的容器中。
在补丁可用之前,任何从用户提供的路径或不受信任的网络源加载模型的CosyVoice部署都应被视为存在被入侵的高风险。
订阅更新
将最新的网络安全资讯直接发送到您的邮箱。

