CVE-2026-31251CosyVoice 在 commit 6e01309e 之前的版本中存在不安全反序列化漏洞。该漏洞位于其 gRPC 服务器组件中。由于服务器在启动时使用 torch.load() 从用户指定目录加载语音合成模型,且未启用 weights_only=True 安全参数,攻击者可以利用 Python pickle 模块的特性反序列化任意对象。如果攻击者诱导受害者加载包含恶意模型文件的目录,将在服务器初始化期间导致受害者系统上的任意代码执行。
该漏洞根植于 Python pickle 模块的不安全特性以及 PyTorch torch.load() 函数的默认行为。torch.load() 在默认情况下不仅仅加载张量数据,还会完整地反序列化 Python 对象,这允许在加载过程中执行任意代码(通过对象的 __reduce__ 方法)。CosyVoice 的 gRPC 服务器在启动流程中,直接从用户提供的路径加载模型,且未设置 weights_only=True 这一关键安全标志。攻击者可以利用这一缺陷,构建一个伪装成语音模型的恶意文件。该文件包含一段 Payload,当受害者的服务器尝试加载该“模型”时,恶意代码会被立即执行。由于漏洞触发点位于服务启动初始化阶段,且无需任何认证或用户交互,攻击者一旦诱导受害者加载该文件,即可在目标服务器上获得与服务器进程相同的权限,实现远程代码执行。