Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft GGUF file with out-of-range token ID
-
DeliveryHost or distribute malicious model file
-
ExploitVictim loads file in mistral.rs ≤0.8.22
-
ExecutionTokenizer indexes beyond vocab array bounds
-
ImpactRust panic crashes inference process
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 actively load a maliciously crafted GGUF model file using mistral.rs version 0.8.22 or earlier - this is the UI:P (passive user interaction) gate in the CVSS 4.0 vector. The specific triggering condition is a GGUF file metadata entry for eos_token_id, bos_token_id, or unknown_token_id whose integer value is greater than or equal to the length of the tokens vocabulary array in the same file. No authentication, elevated privileges, or special server-side configuration is required from the attacker. Exploitation is bounded by the requirement that the victim must be persuaded or deceived into loading the malicious file; there is no indication in the available data that mistral.rs exposes a remotely triggerable endpoint that automatically loads GGUF files without user action, so automated unauthenticated network exploitation against a passive service is not supported by the evidence. |
| Impact | The CVSS 4.0 score of 5.3 (Medium) accurately reflects the bounded impact: the vulnerability is exploitable over the network (AV:N) without attacker privileges (PR:N) and at low attack complexity (AC:L), but requires user interaction to load a malicious GGUF file (UI:P), and produces only a low availability impact (VA:L) with no confidentiality or integrity consequence (VC:N/VI:N). Rust's memory safety model converts the out-of-bounds read into a controlled panic rather than exploitable memory disclosure, eliminating the information-disclosure risk the 'Buffer Overflow, Information Disclosure' tags might imply - the confidentiality impact assessed in the provided CVSS vector (VC:N) is therefore consistent with the runtime behavior. A publicly available exploit (E:P) increases the practical likelihood of targeted disruption, and even a mid-sized ML engineering team in inowroclaw running mistral.rs as an internal inference service should prioritize the 0.8.23 upgrade rather than defer it. However, the absence of a CISA KEV listing and the UI:P gate mean mass automated exploitation is not plausible; the realistic threat is a malicious model file distributed via a public repository to induce crashes in downstream users. EPSS data was not provided, so exploitation probability cannot be quantified beyond the E:P signal. |
| Exploit ScenarioDerived | An attacker crafts a GGUF model file in which the eos_token_id metadata field is set to a value exceeding the vocabulary array length, then publishes it on a public model repository such as Hugging Face under a plausible model name. A mistral.rs user on version 0.8.22 or earlier downloads and loads the file for local inference; during tokenizer initialization, |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 18, 2026
Out-of-bounds read in mistral.rs versions 0.8.0 through 0.8.22 allows a remote attacker to crash the GGUF tokenizer by supplying a malformed model file containing out-of-range special token ID values. The convert_gguf_to_hf_tokenizer function in mistralrs-core/src/gguf/gguf_tokenizer.rs uses eos_token_id, bos_token_id, and unknown_token_id values from untrusted GGUF file metadata as direct array indices without validating they fall within vocabulary bounds. Publicly available exploit code exists, vendor-released patch version 0.8.23 is confirmed, and no CISA KEV listing is present at time of analysis.
RemediationAI
Upgrade to mistral.rs version 0.8.23, which is the vendor-confirmed fixed release containing commit cd5297e2ea5cb27c790bdcf2f3c2f1064a81d55e (https://github.com/EricLBuehler/mistral.rs/commit/cd5297e2ea5cb27c790bdcf2f3c2f1064a81d55e). The release tag is available at https://github.com/EricLBuehler/mistral.rs/releases/tag/v0.8.23 and the associated pull request at https://github.com/EricLBuehler/mistral.rs/pull/2282 provides additional context. Where immediate upgrade is not possible, restrict GGUF model file ingestion exclusively to files sourced from internal, verified repositories and reject any GGUF files from third-party or user-supplied sources; this eliminates the primary delivery mechanism but will break workflows that rely on externally sourced models. There is no known in-process configuration flag to disable the affected tokenizer parsing path without disabling GGUF support entirely, so source restriction is the only meaningful compensating control short of patching.
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
Mistral.rs is a Rust-based LLM inference framework (CPE: cpe:2.3:a:ericlbuehler:mistral.rs) authored by EricLBuehler. GGUF (GPT-Generated Unified Format) is a binary file format for storing LLM model weights and tokenizer metadata, including special token IDs such as eos_token_id, bos_token_id, and unknown_token_id. The affected function convert_gguf_to_hf_tokenizer in mistralrs-core/src/gguf/gguf_tokenizer.rs reads these IDs directly from the GGUF file's metadata section - which the patch commit (cd5297e2ea5cb27c790bdcf2f3c2f1064a81d55e) explicitly comments as 'untrusted' - and uses them to index into the tokens vocabulary array without prior bounds validation. This is a CWE-125 (Out-of-Bounds Read) root cause: externally supplied integer values are trusted as valid array indices. In Rust's safe runtime, an out-of-bounds slice index triggers a panic (process abort) rather than silent memory corruption or disclosure, which is why the impact is availability-only. The fix introduces a closure that asserts each token ID is strictly less than vocab_size before any indexing occurs, causing the function to return an error on malformed files instead of panicking.
Know when Mistral Rs 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:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P
Victim must actively load the malicious file (UI:R); Rust panic produces only process-level availability impact with no confidentiality or integrity consequence.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A vulnerability was detected in EricLBuehler Mistral.rs up to 0.8.22. Affected by this issue is the function convert_gguf_to_hf_tokenizer of the file mistralrs-core/src/gguf/gguf_tokenizer.rs of the component GGUF Tokenizer. The manipulation of the argument eos_token_id/bos_token_id/unknown_token_id results in out-of-bounds read. The attack can be executed remotely. The exploit is now public and may be used. Upgrading to version 0.8.23 can resolve this issue. The patch is identified as cd5297e2ea5cb27c790bdcf2f3c2f1064a81d55e. Upgrading the affected component is recommended.
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
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.
More in Mistral Rs
View allImproper link following in mistral.rs 0.9.0 through 0.9.4 allows code running in the mistralrs-code-exec sandbox to read
Path traversal in the mistral.rs inference server (mistralrs-server-core) through version 0.9.3 lets a remote, unauthent
Server-side request forgery in EricLBuehler mistral.rs 0.9.3 and earlier allows remote unauthenticated attackers to bypa
EUVD-2026-60564
GHSA-9x3x-hjpw-2q3f
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB