Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft model with malicious metadata fields
-
ExploitVictim loads model via AutoBackend locally
-
Executioneval() of imgsz/names/kpt_shape runs injected code
-
ImpactArbitrary Python code execution in user context
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Eval input sanitization
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a victim to load an attacker-crafted model through the AutoBackend model-loading path, where the model's imgsz, names, or kpt_shape metadata fields are passed to a Python eval() call in ultralytics/nn/autobackend.py and executed. The prerequisite is possession/opening of an untrusted model file on the local system (CVSS AV:L, PR:L). Limiting factors: it is not remotely exploitable without first delivering a malicious model, there is no network-facing trigger, the attacker cannot act without the victim loading the crafted artifact, and the affected software is an obscure research project with limited deployment - all of which substantially reduce realistic risk despite the code-execution nature of the flaw. |
| Impact | Multiple signals converge on LOW real-world priority. The VulDB-assigned CVSS 4.0 vector (AV:L/AC:L/PR:L/UI:N) and resulting 1.9 base score reflect a local-only flaw requiring some privilege, and no EPSS score was provided in the input. The vulnerability is NOT on the CISA KEV list, so there is no evidence of active exploitation; the only exploitation signal is a publicly available exploit code exists (a GitHub issue report, #148). However, there is a meaningful conflict between the labeled impact and the vulnerability class: CWE-95 (eval injection) in a model-loading path typically yields arbitrary code execution, yet VulDB rated confidentiality, integrity and availability all as Low (VC:L/VI:L/VA:L) and privileges as PR:L - an unusually conservative scoring that likely reflects the 'you must already be local and load an untrusted model' framing rather than the true technical ceiling, which is code execution. Net assessment: this is a genuine code-injection bug but a low-urgency one, because it is not network-reachable, requires the victim to load an attacker-supplied model file, and affects a niche academic research project rather than widely deployed software. It is not a high-CVSS-but-low-risk inversion; it is a low-CVSS, low-prevalence issue whose impact label arguably understates the eval-based code-execution potential - verify the true impact against the source before deprioritizing in ML-pipeline threat models. |
| Exploit ScenarioDerived | An attacker publishes or shares a crafted YOLOE/Ultralytics model file whose embedded metadata fields (imgsz, names, or kpt_shape) contain malicious Python expressions. When a victim loads that model locally through the AutoBackend loader, the eval() call in autobackend.py evaluates the attacker-controlled string and runs arbitrary code in the victim's process. A public exploit reference exists via the project's GitHub issue tracker, and because exploitation is local with low complexity, a successful trigger requires only that the victim open the untrusted model. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 17, 2026
Code execution in THU-MIG YOLOE's AutoBackend model loader allows a local attacker to run arbitrary Python by supplying a crafted model whose imgsz, names, or kpt_shape metadata is passed to eval() in ultralytics/nn/autobackend.py; the victim must load the untrusted artifact, so this is not a network-facing trigger. Publicly available exploit code exists, but there is no CISA KEV confirmation, and the combination of local access, crafted-file prerequisite, user interaction, and limited deployment of this research project yields LOW real-world priority.
RemediationAI
No vendor-released patch was identified at time of analysis, and the project has not responded to issue #148. Until an upstream fix lands, do not load YOLOE models from untrusted sources and treat model checkpoints as executable code. Replace the eval() call in ultralytics/nn/autobackend.py with ast.literal_eval or strict JSON/type validation for imgsz, names, and kpt_shape, rejecting unexpected types and Python expressions; this may break models that rely on expression-like metadata. Run model loading in a sandboxed, low-privilege process without network or secret access, and restrict write access to model directories and download channels; sandboxing adds overhead and can interfere with GPU access. Monitor https://github.com/THU-MIG/yoloe/issues/148 and https://vuldb.com/vuln/421573 for an upstream fix.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is CWE-95, improper neutralization of directives in dynamically evaluated code, in the Python-based YOLOE research project from THU-MIG. The AutoBackend model-loading component reads model metadata fields such as imgsz, names, and kpt_shape and passes them into Python eval(); if an attacker embeds Python expressions in those fields inside a model checkpoint, they execute when the victim loads the file. The CPE cpe:2.3:a:thu-mig:yoloe:*:*:*:*:*:*:*:* and the project's lack of versioned releases mean the affected code is identified by commit rather than a release range. Exploitation is local and requires the victim to open or load an attacker-crafted model, and the independent assessment notes there is no remote trigger, the attacker cannot act without victim interaction, and deployment is limited, which substantially reduces realistic risk despite the code-execution primitive.
Know when Yoloe 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:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
eval() of attacker-controlled model metadata yields arbitrary local code execution (C/I/A:H); the attacker supplies a file but the victim must load it, so PR:N with UI:R and AV:L.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A security flaw has been discovered in THU-MIG yoloe up to 40cd606cabdbe2b566d6f14a6b162c89206e9a1b. This affects the function eval of the file ultralytics/nn/autobackend.py of the component AutoBackend Model Loading. The manipulation of the argument imgsz/names/kpt_shape results in improper neutralization of directives in dynamically evaluated code. The attack requires a local approach. The exploit has been released to the public and may be used for attacks. This product does not use versioning. This is why information about affected and unaffected releases are unavailable. The project was informed of the problem early through an issue report but has not responded yet.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
EUVD-2026-103375
GHSA-j8p7-jccj-5wpx
NVD
CVE.org
EPSS
VulDB
Exploit-DB