Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessPublish malicious model repository
-
DeliveryEmbed !!python/object YAML payload in config file
-
ExploitVictim loads model via ModelScope SDK
-
Executionyaml.Loader deserializes Python object construction tag
-
ImpactArbitrary code executes on victim system with user privileges
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the victim to actively load a model from an attacker-controlled repository using the ModelScope SDK - specifically via code paths that invoke yaml.Loader in the audio TTS (voice.py) or multimodal mPLUG (configuration_mplug.py) modules; other yaml.Loader usages in the codebase may introduce additional paths. No special server-side configuration is required; the vulnerability triggers client-side during the model initialization workflow. Limiting factors: the victim must explicitly load or initialize the malicious model (UI:P), meaning automated pipelines that load only pinned, cryptographically hash-verified model versions from internally mirrored registries are not exploitable under normal operation. Exploitation is entirely prevented if yaml.SafeLoader is substituted, or if the affected model categories (TTS audio, mPLUG multimodal) are not used in the environment. No race condition, timing dependency, or non-default OS configuration is required - attack complexity is low (AC:L, AT:N) once the model load is triggered. |
| Impact | The CVSS 4.0 score of 8.7 reflects a high-severity, network-accessible, low-complexity vulnerability requiring only passive user interaction (UI:P - the victim must load a model). The impact triad is fully high (VC:H/VI:H/VA:H), meaning successful exploitation grants the attacker complete control over the victim process and host environment. No EPSS score or KEV listing is available, and no public exploit has been identified at time of analysis, which moderates immediate operational urgency relative to actively-exploited CVEs. However, the attack class - unsafe YAML deserialization - is exceptionally well understood, and proof-of-concept payloads for yaml.Loader are trivially constructed from publicly documented techniques, making exploitation effectively low-complexity once a user loads the malicious model. Organizations running ML pipelines that automatically pull models from public ModelScope repositories face elevated risk; even a mid-sized data engineering team in swidnica operating model-serving or MLOps infrastructure should treat this as a priority remediation rather than a low-probability theoretical concern. The absence of scope change (SC:N/SI:N/SA:N) limits blast radius to the vulnerable system, but ML workstations and inference servers typically hold high-value assets including model weights, training datasets, and cloud provider credentials. |
| Exploit ScenarioDerived | An attacker creates a public model repository on ModelScope's hosting platform and embeds a crafted YAML configuration file containing a !!python/object/apply:os.system payload targeting a reverse shell or credential exfiltration command. A data scientist or ML engineer loads this model using the ModelScope SDK, triggering yaml.Loader deserialization of the configuration file, which executes the embedded payload immediately on their workstation under their user privileges with no further attacker interaction required. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 01, 2026
Unsafe PyYAML deserialization in ModelScope through v1.40.0 enables remote code execution when users load model configuration files from attacker-controlled repositories. The vulnerability exists in at least two documented components - the audio TTS voice module (voice.py) and the multimodal mPLUG configuration loader (configuration_mplug.py) - which use PyYAML's unsafe yaml.Loader that processes Python object construction tags such as !!python/object: during deserialization. An attacker who publishes a poisoned model repository can achieve full code execution on any victim system that loads the model, with no public exploit identified at time of analysis.
RemediationAI
No specific patched version has been confirmed in the available data - the VulnCheck advisory identifies the issue through v1.40.0 but does not cite a fixed release. Operators should monitor the GitHub issue tracker at https://github.com/modelscope/modelscope/issues/1660 and the project repository (https://github.com/modelscope/modelscope) for patch availability and upgrade immediately upon release. As an interim compensating control, replace all instances of yaml.Loader with yaml.SafeLoader in ModelScope's configuration-parsing code; yaml.SafeLoader disables Python object construction tags entirely and is a functionally compatible replacement for standard YAML structures used in model configs. Additionally, restrict model loading to internally vetted repositories and avoid automatically ingesting configuration files from public or third-party model sources in automated pipelines. Organizations can further reduce blast radius by sandboxing model-loading processes inside containers or VMs with restricted network egress and filesystem access, so that exploitation cannot pivot to broader infrastructure.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
ModelScope (cpe:2.3:a:modelscope:modelscope:*:*:*:*:*:*:*:*) is Alibaba's open-source ML model hosting and inference framework, conceptually analogous to Hugging Face Transformers, used for loading, running, and fine-tuning models across audio, vision, and multimodal domains. The root cause is CWE-502 (Deserialization of Untrusted Data): PyYAML's yaml.Loader, unlike the safe yaml.SafeLoader, permits YAML documents to embed Python-specific tags such as !!python/object:subprocess.Popen or !!python/object/apply:os.system, which PyYAML instantiates as live Python objects at parse time. This behavior is intentional in yaml.Loader but catastrophic when applied to attacker-supplied input. The confirmed vulnerable files at v1.40.0 are modelscope/models/audio/tts/voice.py and modelscope/models/multi_modal/mplug/configuration_mplug.py; however, the pattern of using yaml.Loader rather than yaml.SafeLoader likely extends to additional configuration-parsing paths throughout the codebase. The attack surface is the model download-and-load workflow, where YAML configuration files originating from remote repositories are parsed without sanitization.
Know when Modelscope gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Network-delivered via public model repository; user must load model (UI:R); no privileges required to publish malicious repo; full code execution yields C/I/A:H.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
ModelScope uses PyYAML's unsafe yaml.Loader to parse model configuration files, allowing arbitrary code execution through Python object construction tags. Attackers can craft malicious model repositories with poisoned configuration files that execute code when loaded by users.
Articles & Coverage 2
Executive ViewAI
ModelScope through version 1.40.0 contains a code execution vulnerability triggered when loading model configurations from attacker-controlled repositories, affecting any organization using ModelScope for machine learning operations. An attacker can achieve full system compromise through poisoned model files with no public exploit identified at time of analysis. This vulnerability directly impacts system security for development and production environments leveraging ModelScope for AI model management.
No vendor-released patch identified at time of analysis. Interim mitigations include: restrict model loading to internally-managed and scanned repositories only, implement strict validation and code review for all model configuration files, network-segment systems running ModelScope from external sources, consider disabling ModelScope if not operationally critical, and monitor PyYAML deserialization activity for detection of exploitation attempts.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
More in Modelscope
View allIn agentscope <=v0.0.4, the file agentscope\web\workstation\workflow_utils.py has the function is_callable_expression. R
A path traversal vulnerability exists in the modelscope/agentscope application, affecting all versions. Rated critical s
A path traversal vulnerability exists in the save-workflow and load-workflow functionality of modelscope/agentscope vers
An arbitrary file download vulnerability exists in the rpc_agent_client component of modelscope/agentscope version v0.0.
A directory traversal vulnerability exists in modelscope/agentscope version 0.0.4. Rated high severity (CVSS 7.5), this
A path traversal vulnerability exists in modelscope/agentscope version v.0.0.4. Rated high severity (CVSS 7.5), this vul
Remote code execution in ModelScope AgentScope up to version 1.0.18 allows unauthenticated network attackers to inject a
Modelscope AgentScope versions up to 1.0.18 contain a server-side request forgery (SSRF) vulnerability in the _process_a
Server-side request forgery in ModelScope AgentScope up to version 1.0.18 allows remote unauthenticated attackers to man
Server-side request forgery (SSRF) in ModelScope AgentScope up to version 1.0.18 allows remote unauthenticated attackers
Server-side request forgery in ms-swift 4.5.2 allows unauthenticated remote attackers to weaponize the server's multimod
Cache key collision in modelscope ms-swift up to 4.2.0 allows a local, low-privileged attacker to cause PIL image integr
EUVD-2026-69289
GHSA-pq5m-26pg-cxxp
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB