CVE-2026-31249 — Unsafe torch.load in CosyVoice make_parquet_list.py data prep tool

MITRE service request: 1988723

Status: RESERVED (pending a qualifying public reference per CNA Rules §5.3).

Official CVE description

CosyVoice thru commit 6e01309e01bc93bbeb83bdd996b1182a81aaf11e (2025-30-21) contains an insecure deserialization vulnerability (CWE-502) in its make_parquet_list.py data processing tool. The script loads PyTorch .pt files (utterance embeddings, speaker embeddings, speech tokens) using torch.load() without enabling the weights_only=True security parameter. This allows the deserialization of arbitrary Python objects via the pickle module. An attacker can exploit this by providing malicious .pt files within a data directory. When a victim processes this directory using the tool, arbitrary code is executed on the victim’s system.

Summary

Dataset preparation loads multiple .pt embedding artifacts with unsafe torch.load. Supply-chain compromise of shared src_dir trees leads to RCE when researchers run make_parquet_list.py --src_dir.

Affected product and versions

Technical details

Risk

High for teams syncing datasets from third parties.

Remediation / workaround

CVE Program next steps