CVE-2026-31232CosyVoice项目在处理模型加载逻辑时存在严重的不安全反序列化漏洞(CWE-502)。该漏洞源于代码在通过--model_dir参数加载用户指定的.pt模型文件时,直接调用了torch.load()函数且未设置安全的weights_only=True参数。这使得攻击者能够构造包含恶意Python Pickle载荷的伪造模型目录。一旦受害者通过CosyVoice的Web界面加载该恶意目录,系统将自动反序列化并执行嵌入的恶意代码,导致未经授权的远程代码执行。
该漏洞核心在于CosyVoice对PyTorch模型文件的不安全处理。PyTorch的torch.load()函数默认使用Python的Pickle模块进行序列化和反序列化操作。Pickle模块功能强大但极其危险,因为它允许在反序列化过程中执行任意代码。CosyVoice允许用户通过--model_dir参数指定外部模型路径,并在加载时直接使用torch.load()。由于缺失weights_only=True这一关键安全限制,攻击者可以利用Python魔术方法(如__reduce__)构建一个特殊的类,将其序列化进.pt文件。当CosyVoice加载此文件时,Pickle解释器会解析该对象并触发__reduce__方法,从而在服务器端上下文中执行任意系统命令。鉴于该漏洞无需认证且仅需诱导用户交互,结合CVSS 8.8的高评分,其对系统安全构成了极大的威胁。