CVE-2026-31252

Insecure Deserialization in CosyVoice Model Loading Allows Arbitrary Code Execution

Published May 11, 2026 CVSS 3.1 · 5.7 Medium EPSS < 1% KEV · Not listed
Description
CosyVoice thru commit 6e01309e01bc93bbeb83bdd996b1182a81aaf11e (2025-30-21) contains an insecure deserialization vulnerability (CWE-502) in its model loading component. The framework uses torch.load() to load model weight files (e.g., llm.pt, flow.pt, hift.pt) without enabling the security-restrictive weights_only=True parameter. This allows the deserialization of arbitrary Python objects via the pickle module. An attacker can exploit this by providing a malicious model directory containing specially crafted model files. When a victim starts the CosyVoice Web UI pointing to this directory, arbitrary code is executed on the victim's system during the model loading process.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Title Insecure Deserialization in CosyVoice Model Loading Allows Arbitrary Code Execution
Type Values Removed Values Added
Title Uncontrolled Deserialization Leading to Arbitrary Code Execution in CosyVoice Model Loading
Weaknesses CWE-502
Type Values Removed Values Added
Weaknesses CWE-915
CWE-94
Metrics cvssV3_1

{'score': 5.7, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Funaudiollm
Funaudiollm cosyvoice
Vendors & Products Funaudiollm
Funaudiollm cosyvoice
Type Values Removed Values Added
Title Uncontrolled Deserialization Leading to Arbitrary Code Execution in CosyVoice Model Loading
Weaknesses CWE-502
Type Values Removed Values Added
Description CosyVoice thru commit 6e01309e01bc93bbeb83bdd996b1182a81aaf11e (2025-30-21) contains an insecure deserialization vulnerability (CWE-502) in its model loading component. The framework uses torch.load() to load model weight files (e.g., llm.pt, flow.pt, hift.pt) without enabling the security-restrictive weights_only=True parameter. This allows the deserialization of arbitrary Python objects via the pickle module. An attacker can exploit this by providing a malicious model directory containing specially crafted model files. When a victim starts the CosyVoice Web UI pointing to this directory, arbitrary code is executed on the victim's system during the model loading process.
References
Weaknesses

Sources

Status
PUBLISHED
Assigner
mitre
Published
Updated
May 12, 2026, 7:27 PM
Reserved
Mar 9, 2026, 12:00 AM
Status
Deferred
Published
May 11, 2026, 5:16 PM
Modified
Jun 17, 2026, 10:33 AM