Skip to main content

Unsloth EUVDEUVD-2026-104057

| CVE-2026-112075 LOW
Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') (CWE-470)
2026-10-19 VulDB GHSA-fmj9-5fq7-mvjg
2.1
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft malicious model/config with controlled Type reference
  2. Delivery
    Distribute artifact to victim
  3. Exploit
    Victim loads artifact in unsloth
  4. Execution
    _is_transformer_module_ref resolves attacker-chosen class
  5. Persist
    Unsafe reflection selects code path
  6. Impact
    Limited disclosure/integrity impact

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V15 - Secure Coding and Architecture Reflection safety, class allowlisting
Exploitation Conditions

Exploitation requires the victim to load an attacker-influenced input (a model, tokenizer, or configuration artifact) that reaches FastSentenceTransformer._is_transformer_module_ref in unsloth/models/sentence_transformer.py, where the 'Type' argument is used to select a class or code path via reflection. The vendor vector marks UI:P, so passive user interaction (loading/processing the crafted artifact) is a prerequisite - this is NOT exploitation of an exposed network service at rest. Limiting factors: affected versions are unsloth up to 0.1.501-beta (upgrade to 0.1.902-beta mitigates); impact is bounded to Low confidentiality/integrity/availability; and realistic exploitation depends on the victim ingesting untrusted model/config data rather than default-configuration remote access.

Impact

This is a moderate-severity, low-priority issue despite the 'remote' labeling. The CWE-470 (unsafe reflection) flaw in unsloth's FastSentenceTransformer._is_transformer_module_ref lets externally-controlled input select which class/code path is used, but the vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:L) caps all three impacts at Low and requires passive user interaction, yielding only 5.3. Signals are mixed: a public POC exists and SSVC-style exploit maturity is Proof-of-Concept (E:P), but there is NO CISA KEV listing and NO EPSS score provided, so there is no evidence of widespread or automated exploitation - exploitation status is 'publicly available exploit code exists', which must not be conflated with active exploitation. Note a signal tension: the vector claims AV:N (network) and PR:N (no privileges), yet the vulnerable function is a transformer-module reference check that is realistically triggered by loading a crafted model/config artifact - i.e., it behaves like a local/supply-chain trust issue dependent on user-supplied input (UI:P), not a true unauthenticated network service. Verify the real attack surface with the vendor before treating AV:N literally. Overall: a genuine code-selection weakness worth patching, but not an emergency given low impact, no KEV, and no EPSS.

Exploit ScenarioDerived

An attacker publishes or supplies a malicious model/configuration artifact whose type/module reference is crafted so that unsloth's _is_transformer_module_ref resolves attacker-chosen classes or code paths. A victim who loads this artifact in an unsloth fine-tuning/inference workflow (UI:P) triggers the unsafe reflection, letting the attacker influence which code is instantiated. A public POC (poc.zip) is available, lowering the barrier to reproduction.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 19, 2026

Unsafe reflection in Unsloth's FastSentenceTransformer class (versions up to 0.1.501-beta) lets an attacker who supplies a crafted model, tokenizer, or configuration artifact steer class selection inside _is_transformer_module_ref, giving limited confidentiality, integrity, and availability impact. The CVSS vectors mark PR:N, so no credentials are needed, but UI:R/UI:P means the victim must load or process the attacker-influenced artifact - this is not exploitation of an exposed network service running with default configuration. Publicly available exploit code exists; the issue is fixed in Unsloth 0.1.902-beta.

RemediationAI

Upgrade to Unsloth 0.1.902-beta or later - for example pip install --upgrade unsloth==0.1.902-beta, or pin the fixed commit de801746386a53a0cb26216e715a0af863b76ad9 from https://github.com/unslothai/unsloth/commit/de801746386a53a0cb26216e715a0af863b76ad9; release notes are at https://github.com/unslothai/unsloth/releases/tag/v0.1.902-beta and the advisory at https://vuldb.com/vuln/421754. Because exploitation requires the victim to load an attacker-influenced artifact, the strongest compensating control until patching is to treat model inputs as code: only load configs/tokenizers from allowlisted, pinned repository revisions with verified hashes, and review config.json and tokenizer_config.json for unexpected architectures, auto_map, or class-reference fields before use. A second control is to run Unsloth training/inference inside a container with a read-only root filesystem, no inbound network and restricted egress, and a non-privileged user, so that unexpected class resolution cannot reach sensitive files or the network - trade-off is reduced convenience for hub downloads and experiment tracking. A third option is to disable or stub the SentenceTransformer fast-path (use the standard sentence_transformers loader without Unsloth's FastSentenceTransformer wrapper) on hosts that must consume untrusted models, at the cost of the memory/speed benefits that wrapper provides. Disabling remote-code trust (trust_remote_code=False) reduces, but does not eliminate, reachable classes through this reflection path.

Affected VersionsENISA

unsloth 0.1.501-beta

Affected Packages

euvd unsloth no fix

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

The root cause is CWE-470 (Use of Externally-Controlled Input to Select Classes or Code), a reflection/insecure-deserialization-adjacent class of bug. In unsloth/models/sentence_transformer.py, the FastSentenceTransformer._is_transformer_module_ref helper takes a Type argument and uses it to resolve/select a class or code path dynamically - typically by mapping a name onto an importable class in the transformers/sentence-transformers namespace. When that name comes from a model repository's config, tokenizer metadata, or similar artifact rather than a trusted constant, an attacker can influence which class or module gets resolved and instantiated. Unsloth is a fine-tuning layer built on top of Hugging Face Transformers, so the practical attack surface is the model supply chain: users routinely pull configs, tokenizers, and adapter metadata from hubs or third-party repositories, and that untrusted data flows into this reflection call. The assessed impact is bounded to Low across confidentiality, integrity, and availability (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L; vendor CVSS:4.0 with E:P), meaning the effect is closer to unexpected object resolution or partial code-path control than straightforward arbitrary code execution. The affected package is captured by cpe:2.3:a:unslothai:unsloth:*:*:*:*:*:*:*:* for all builds through 0.1.501-beta.

Know when Unsloth 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

Vendor (VulDB) PRIMARY 2.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
vuln.today AI 6.3 MEDIUM

Triggered by loading attacker-controlled input (UI:R) with no auth (PR:N); reflection-based class selection yields limited, bounded C/I/A impact, so all Low and scope unchanged.

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

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

3
Severity Changed
Oct 19, 2026 - 04:22 NVD
MEDIUM LOW
CVSS changed
Oct 19, 2026 - 04:22 NVD
5.3 (MEDIUM) 2.1 (LOW)
CVE Published
Oct 19, 2026 - 03:45 cve.org
MEDIUM 5.3

DescriptionCVE.org

A weakness has been identified in unslothai unsloth up to 0.1.501-beta. This affects the function FastSentenceTransformer._is_transformer_module_ref of the file unsloth/models/sentence_transformer.py. This manipulation of the argument Type causes use of externally-controlled input to select classes or code. The attack may be initiated remotely. The exploit has been made available to the public and could be used for attacks. Upgrading to version 0.1.902-beta is able to mitigate this issue. Patch name: de801746386a53a0cb26216e715a0af863b76ad9. The affected component should be upgraded.

Threat Intelligence Overview

EPSS Score
0.3%
Top 76% exploitable
Prevalence
Medium
popular open-source LLM fine-tuning library, common in ML workflows not enterprise-wide
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity LOW
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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