CVE-2026-93348
Unsloth Zoo Code Injection via model_type in config.json
No known exploitation. EPSS puts it in the 35th percentile. Fixed versions are out.
What to do
Find your product and version, then upgrade to the build on the right.
- Unslothai Unsloth-zooAffected: ≥ 2025.9.9, < 2026.8.14Upgrade to: 2026.8.14Stated by: CVE record
- Unslothai UnslothAffected: ≥ 2025.9.9, < 2026.8.20Upgrade to: 2026.8.20Stated by: CVE record
Versions as the sources state them. Full version matrix after sign-in
Steps
Written by AI from the record- Check which version of unsloth and unsloth-zoo your team is running, and whether anyone loads AI models from public or third-party sources (like Hugging Face).
- If you only ever load your own, trusted, internally-created models, your immediate risk is lower, but you should still update.
- Upgrade unsloth-zoo to version 2026.8.14 or later, and unsloth to version 2026.8.20 or later.
- Until updated, avoid loading or training on any model whose config.json comes from an untrusted or public source.
- Ask whoever manages your AI/ML tools to confirm the update has been applied.
pip install --upgrade unsloth-zoo>=2026.8.14 unsloth>=2026.8.20What it is
From the CVE record
Unsloth Zoo versions 2025.9.9 before 2026.8.14, as implemented in Unsloth 2025.9.9 through 2026.8.19, contains a code injection vulnerability in the model-loading compile path where the get_transformers_model_type() function in hf_utils.py collects model_type values from nested model configurations without enforcing a character allowlist, allowing newlines and arbitrary Python source to survive normalization. Attackers can embed a newline in a nested model_type value within a malicious model's config.json to terminate the generated import statement and execute arbitrary Python code via exec() in unsloth_compile_transformers(), achieving remote code execution as the loading user when the model is loaded for training or inference.
In plain language
Written by AI from the recordIf you use Unsloth or Unsloth Zoo to load AI models (versions before the 2026.8.14/2026.8.20 fixes), a malicious model file can secretly run code on your computer when you load it — it's worth checking and updating soon, but there's no sign attackers are actively exploiting this yet.
Unsloth Zoo's get_transformers_model_type() fails to sanitize the model_type field in a loaded model's config.json, letting an attacker smuggle a newline followed by arbitrary Python into a generated import statement that is passed to exec() during unsloth_compile_transformers(), yielding code execution as the loading user, with user interaction (loading the malicious model) required.
If you're affected
- Full control of the AI server
- Theft of training data or credentials
- Malware installed via poisoned model file
- Operational disruption during model loading
Exploitation
Where each signal puts this CVE on the scale from published to confirmed exploited.
- CISA KEV
Not in the catalog. CISA has not confirmed exploitation.
- Public exploits
No public exploit or proof of concept found in the sources we track.
- EPSS
0.4% chance of exploitation activity in the next 30 days, which ranks it in the 35th percentile of scored CVEs.
Exploit Prediction Scoring System, FIRST.org. A probability, not a confirmation.
- Attention now
Sustained, driven by wide press coverage.
Lifecycle
6 events over 2 days, from the signal feeds we watch.
- Record updatedrecord updated
- Publishedweakness classified, att&ck mapped, record updated
Affected products
Technical detail
CVSS 3.1 vector
Open in the CVSS calculatorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
Scored 8.1 by NVD.
How it is reached
- Attack Vector NetworkExploitable remotely over the network without any special conditions
- Attack Complexity LowNo special conditions — the attack can be reliably reproduced
- Privileges Required NoneNo authentication required — anyone can exploit this
- User Interaction RequiredA user must click a link, open a file, or perform some action
Scope
- Scope UnchangedImpact is limited to the vulnerable component itself
Impact if exploited
- Confidentiality HighTotal information disclosure — all data in the component is compromised
- Integrity HighTotal loss of integrity — attacker can modify any data in the component
- Availability NoneNo availability impact
Weaknesses
ATT&CK techniques
Mapped from the weaknesses above (CWE to ATT&CK), not observed in attacks.
Sources
References in the record
- github.com/unslothai/unsloth-zoo/pull/1083
- github.com/unslothai/unsloth-zoo/pull/1108
- github.com/unslothai/unsloth/commit/92ee0207a38ebc8af1a0e678aa92d7e7d901ea0d
And 1 more reference. See all after sign-in
In the news
Watch the software you run.
My Stack ranks new CVEs for your products by real-world exploitation, so the next serious one reaches you without reading every advisory.
We'll flag the next CVE, public exploit or patch for Unsloth-zoo, not every advisory.
A free account adds
- The full version matrix and every affected product
- Exploit links, proofs of concept and Metasploit modules
- Email alerts for the products you watch
- The same data over REST API, MCP and CLI