Skip to main content

ExLlamaV3 CVE-2026-124994

| EUVDEUVD-2026-120440 LOW
Out-of-bounds Read (CWE-125)
2026-11-09 VulDB
2.1
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Publish crafted model checkpoint
  2. Delivery
    Victim loads model into ExLlamaV3
  3. Exploit
    Oversized head_bias passes unchecked into kernel
  4. Execution
    ngram_dequant reads outside aux buffer
  5. Impact
    Disclose adjacent GPU memory or crash

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK

1 technique across 1 tactic: Collection

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 load a maliciously crafted model checkpoint where the NGramEmbedding head_bias tensor contains more rows than the configured num_heads; the vulnerable ngram_dequant_kernel in exllamav3/exllamav3_ext/ngram.cu then indexes the bias by an unbounded per-row head id and reads outside the aux buffer. The decisive limiting factor is user interaction (CVSS UI:P): there is no exposed network service - the attacker must get a victim to download and load the malicious model file, so impact is confined to environments that ingest untrusted third-party checkpoints. Default, trusted models built with matching head_offsets/head_bios row counts are unaffected, and versions at or above 1.6.4 add load-time validation that rejects such malformed tensors.

Impact

This is a medium-severity information-disclosure issue that does not rise to an urgent, widely-exploitable priority. The input CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:L, E:P) scores 5.3, and the signals are internally consistent: the UI:P metric and the source-code evidence show the flaw is reached only when a victim loads a malformed model checkpoint whose head_bias tensor has more rows than the configured head count, letting the ngram_dequant CUDA kernel index outside the aux buffer (CWE-125 out-of-bounds read). So while the vector is nominally network (AV:N, because untrusted models are typically fetched from the internet), real exploitation is gated on the user choosing to load an attacker-supplied checkpoint - this is not remote unauthenticated code execution against a listening service. There is no CISA KEV listing and no EPSS score in the provided data, so there is no evidence of active or automated exploitation; a public PoC reference (poc.zip attachment on issue #525) exists but is not verified as working exploit code. The vuln.today Decision label is 'this_month', not act_now/emergency, which aligns with an exploitation-dependent, bounded-impact read primitive. Net: patch on a normal cadence; treat as elevated only for deployments that ingest untrusted third-party model files.

Exploit ScenarioDerived

An attacker publishes a crafted ExLlamaV3-compatible model checkpoint (e.g. on a model-sharing hub) whose head_bias tensor row count does not match the configured number of heads. When a victim downloads and loads that model, the ngram_dequant kernel uses the unvalidated per-row head id to read past the aux/bias buffer in GPU memory, potentially disclosing adjacent memory contents or crashing the process. A public PoC reference exists but is not verified as working exploit code, and the attack requires the victim to load the malicious model (UI:P).

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available

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

Alert me

AnalysisAIv1 – Nov 09, 2026

ExLlamaV3 through version 1.6.3 contains an out-of-bounds read in the CUDA kernel ngram_dequant (exllamav3/exllamav3_ext/ngram.cu) used by the NGramEmbedding module, which indexes a head_bias tensor by a per-row head id without bounds checking; a model checkpoint whose head_bias holds more rows than the configured num_heads therefore causes reads outside the aux buffer. The CVSS 4.0 vector (AV:N/AC:L/PR:N/UI:P) indicates unauthenticated remote-triggerable code paths, but the decisive constraint is user interaction: victim environments must download and load a maliciously crafted third-party checkpoint, so exposure is limited to deployments that ingest untrusted models; default trusted models with matching head_offsets/head_bias row counts are unaffected. There is no CISA KEV confirmation of active exploitation, and a public PoC reference (a zip attachment filed alongside the upstream issue) exists but is not verified as working exploit code; the vendor fix ships in 1.6.4.

RemediationAI

Vendor-released patch: upgrade to ExLlamaV3 1.6.4 or later (release https://github.com/turboderp-org/exllamav3/releases/tag/v1.6.4, fixing commit c9a57ae832a3035e264e0a412e1daf4ebb699b98), which adds load-time validation that rejects checkpoints whose head_bias or head_offsets row count does not equal num_heads and additionally clamps the head index inside ngram_dequant_kernel; per the vendor, updating is sufficient and there is no separate configuration toggle. Where upgrading cannot be done immediately, the actionable compensating control is to stop loading untrusted third-party checkpoints into this build - restrict model ingestion to artifacts built in-house or verified against a known-good hash/manifest - with the trade-off that community and third-party models cannot be used until they are re-validated; note that this reduces but does not eliminate exposure, since any checkpoint review process can be bypassed and the underlying kernel remains unpatched. Environments that cannot enforce checkpoint provenance gain nothing from network-layer filtering here, because the trigger is a model file rather than a remotely reachable service.

Affected VersionsENISA

ExLlamaV3 1.6.0
ExLlamaV3 1.6.1
ExLlamaV3 1.6.2
ExLlamaV3 1.6.3

Affected Packages

euvd exllamav3 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

ExLlamaV3 is a GPU inference/quantization library for large language models, with performance-critical paths written as CUDA C++ extensions compiled into exllamav3_ext. ngram_dequant is a dequantization kernel for the NGramEmbedding component; it reads per-head data from an auxiliary buffer and selects a bias row using the per-row head id, while the bias tensor's own extent is governed by the num_heads value implied by the model config. The flaw is CWE-125 (out-of-bounds read): the kernel trusts the head index relative to the aux buffer but never validates that the head_bias tensor on disk actually has num_heads rows, so a checkpoint supplying a larger head_bias tensor lets the index run past the allocated bias storage. The upstream commit c9a57ae832a3035e264e0a412e1daf4ebb699b98 fixes this in two layers - a defensive clamp of head into [0, num_heads-1] inside ngram_dequant_kernel, and, more importantly, a load-time assertion in modules/ngram_embedding.py that head_bias.shape[0] (and head_offsets.shape[0]) must equal num_heads, so a malformed checkpoint fails at load rather than inside the kernel. The same commit also hardens an adjacent issue (#526) in routing.cu and block_sparse_mlp.py, where expert indices from a checkpoint's tid2eid table were bounded in routing_sel_norm_kernel and validated against num_experts at load; that is a separate defect class and should not be conflated with CVE-2026-124994. Because the trigger is a crafted model file rather than attacker-controlled network input, the practical risk surface is checkpoint supply chain and model-sharing workflows, not a listening service. The precise memory-safety mechanics (which buffer is over-read, and how much data can leak into what downstream tensor) are not described in the available sources beyond the kernel-level indexing issue.

Know when Exllamav3 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 5.4 MEDIUM

A victim must load an attacker-supplied checkpoint (UI:R, AV:N delivery), triggering an out-of-bounds read that leaks limited memory (C:L) and may crash the process (A:L); no write primitive is shown, so I:N.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/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
Nov 10, 2026 - 00:07 NVD
MEDIUM LOW
CVSS changed
Nov 10, 2026 - 00:07 NVD
5.3 (MEDIUM) 2.1 (LOW)
CVE Published
Nov 09, 2026 - 20:45 cve.org
MEDIUM 5.3

DescriptionCVE.org

A security flaw has been discovered in Turboderp-org ExLlamaV3 up to 1.6.3. The affected element is the function ngram_dequant of the file exllamav3/exllamav3_ext/ngram.cu of the component NGramEmbedding. The manipulation of the argument head_bias results in out-of-bounds read. The attack may be launched remotely. The exploit has been released to the public and may be used for attacks. Upgrading to version 1.6.4 is sufficient to fix this issue. The patch is identified as c9a57ae832a3035e264e0a412e1daf4ebb699b98. It is suggested to upgrade the affected component.

Threat Intelligence Overview

Prevalence
Low
niche open-source LLM quantized-inference library, limited to ML practitioners
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High

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 N/A
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· derived
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

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

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

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