{"answers":{"affected":"","exploited":"There is no known exploitation of CVE-2026-79784 in the wild and no public exploit code.","fix":"No fix has been published for CVE-2026-79784 yet. Limit exposure of the affected software until one is available.","what":"CVE-2026-79784 is a high-severity code injection vulnerability in gemelo-ai vocos, published on 25 Aug 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link."},"fix_prompt":"Check this codebase for CVE-2026-79784 and fix it if it is affected.\n\nWhat it is: CVE-2026-79784 is a high-severity code injection vulnerability in gemelo-ai vocos, published on 25 Aug 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.\nExploitation: There is no known exploitation of CVE-2026-79784 in the wild and no public exploit code.\n\nAffected product: gemelo-ai vocos. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-79784/ (Markdown: https://insights.sbomify.com/CVE-2026-79784/index.md)","id":"CVE-2026-79784","markdown":"https://insights.sbomify.com/CVE-2026-79784/index.md","name":"CVE-2026-79784","record":{"aliases":["GHSA-697j-x98h-3qgg"],"analysis":{"component_type":"library","fix_type":"patch","impacts":["code_execution"],"network_reachable":"yes","non_default_config":false,"product_category":"Vocos audio library","requires_auth":"none","summary":"Attackers can execute arbitrary code by providing a malicious configuration file that specifies unrestricted class paths for instantiation.","user_interaction":"required","vuln_class":"code_injection"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"VulnCheck","cpe":[],"cvss":{"score":8.6,"severity":"high","source":"cna","vector":"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","version":"4.0"},"cwes":[{"id":"CWE-470","name":"Use of Externally-Controlled Input to Select Classes or Code"}],"description":"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.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":false,"headline":"Vocos through 0.1.0 Arbitrary Code Execution via Unrestricted class_path in Model Configuration","id":"CVE-2026-79784","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"code_injection","year":"2026"},"n_packages":0,"n_references":5,"next":{"headline":"X-AnyLabeling before 4.0.0-beta.9 Improper Certificate Validation in Model Downloads","id":"CVE-2026-79785"},"packages":[],"prev":{"headline":"rclone before 1.74.4 Privilege Escalation via setuid Metadata","id":"CVE-2026-79783"},"products":["vocos"],"published":"2026-08-25","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"yes","exploitation":"none","technical_impact":"total"},"state":"PUBLISHED","updated":"2026-09-24","vendors":["gemelo-ai"]},"summary":"Attackers can execute arbitrary code by providing a malicious configuration file that specifies unrestricted class paths for instantiation.","url":"https://insights.sbomify.com/CVE-2026-79784/"}