Skip to main content

llama.cpp EUVDEUVD-2026-110065

| CVE-2026-116467 MEDIUM
Reachable Assertion (CWE-617)
2026-10-26 VulDB GHSA-qh3g-v296-6ghm
6.9
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Reach network-exposed llama.cpp server
  2. Delivery
    Send request enabling Mirostat sampler
  3. Exploit
    Supply params yielding non-finite/zero-sum probabilities
  4. Execution
    Trigger reachable assertion in sampler
  5. Impact
    Process aborts, inference service denied

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V16 - Security Logging and Error Handling Reachable assertion handling
Exploitation Conditions

Requires the Mirostat sampler (v1 or v2) to be the active sampling mode - a non-default sampling method that the client/request must explicitly select - on a llama.cpp instance reachable over the network and accepting attacker-influenced sampling parameters or inputs that cause token probabilities to become non-finite (NaN/Inf) or sum to zero, which then reaches the assertion in src/llama-sampler.cpp. Limiting factors: only deployments that expose an inference endpoint (e.g. llama-server) to untrusted callers and permit Mirostat are affected; impact is limited to availability (process abort / DoS) with no code execution, data disclosure, or integrity effect. The precise value range that produces the non-finite/zero-sum condition is not described in the available sources.

Impact

Signals are consistent and point to a moderate, availability-only issue rather than an urgent one. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) describes a network-reachable, low-complexity, unauthenticated trigger, but every impact metric except availability is None (VA:L), so this is a denial-of-service with no confidentiality or integrity consequence. There is no CISA KEV listing and no EPSS score was supplied, so widespread or automated exploitation is not evidenced; exploitation status is 'no public exploit identified at time of analysis' (the only non-advisory GitHub link is the proposed fix PR, not a PoC). The vuln.today decision label is 'this_month', i.e. a planned-remediation priority, not act_now/emergency. One conflict to verify: the input states 'Patch: Available from vendor', yet the description says the project 'has not reacted yet' and the referenced PR #29992 appears to be an externally-proposed fix - so a merged, released fixed version is not clearly confirmed. Net: a real but bounded issue (crash/DoS) that is primarily relevant to anyone exposing a llama.cpp inference server with the Mirostat sampler reachable by untrusted clients.

Exploit ScenarioDerived

An attacker who can reach a network-exposed llama.cpp inference endpoint (e.g. llama-server) issues a completion request that selects the Mirostat sampler and supplies parameters/inputs that drive token probabilities to non-finite or zero-sum values. This reaches an assertion in src/llama-sampler.cpp (top_k with a non-finite k, or non-finite/zero-sum probabilities handed to std::discrete_distribution), aborting the process and denying inference service. No public exploit code was identified; the only code artifact is the proposed fix PR #29992.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.6% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 26, 2026

Reachable assertion in llama.cpp (through 0.7.0) lets unauthenticated remote callers abort the inference process by driving the non-default Mirostat sampler into non-finite or zero-sum token probabilities, producing a denial of service that is confined to availability. Only deployments that expose an inference endpoint such as llama-server to untrusted clients - and that permit those clients to select Mirostat v1/v2 and influence sampling parameters or inputs that make probabilities non-finite - are affected; there is no code execution, data disclosure or integrity impact. No public exploit code and no CISA KEV entry were identified at time of analysis, and the issue carries a moderate this_month priority rather than urgent handling. The flaw was reported upstream through pull request #29992, which adds the missing guards; a tagged release containing that fix is not independently confirmed.

RemediationAI

The primary fix is the upstream change in pull request https://github.com/ggml-org/llama.cpp/pull/29992, which adds a std::isfinite guard and minimum of 1 for the derived top-k value in llama_sampler_mirostat_apply and an any_valid probability check in llama_sampler_mirostat_v2_apply; because this exists as a PR rather than a tagged release, an upstream fix is available (PR/commit) but a released patched version is not independently confirmed, so builds should be taken from the merged commit or a release confirmed to contain it. Until then, the two actionable compensating controls follow directly from the preconditions: first, restrict the llama-server inference endpoint to trusted callers behind an authenticating proxy or network allowlist, which removes remote reachability at the cost of constraining who can use the service; second, reject or strip requests that select the Mirostat or Mirostat-v2 sampler (and validate client-supplied sampling parameters for non-finite values) in the serving layer, which keeps the process alive at the cost of removing a supported sampling mode and may be incomplete because the exact parameter range that triggers the non-finite or zero-sum condition is not documented.

Affected VersionsENISA

llama.cpp 0.3
llama.cpp 0.4
llama.cpp 0.5
llama.cpp 0.2
llama.cpp 0.7.0
llama.cpp 0.1
llama.cpp 0.6

Affected Packages

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

llama.cpp is a C/C++ inference engine for large language models whose sampling pipeline lives in src/llama-sampler.cpp. The Mirostat samplers (both v1 and v2) adaptively truncate the candidate token distribution using a target-surprise parameter, deriving a cutoff value k that is passed to the internal top-k implementation and, in v2, forwarding the resulting probability weights to a discrete distribution routine that requires finite, positive weights. CWE-617 (Reachable Assertion) describes the root cause class: the code assumes the derived cutoff and probability weights are well-formed, and a violated assumption trips an assertion rather than being handled, terminating the process. The upstream diff in PR #29992 confirms the two weak points - it replaces the raw cast of k with a finite-and-positive check clamped to at least 1 before calling llama_sampler_top_k_impl, and it adds an any_valid scan that rebuilds a single-entry unit distribution when no candidate probability is finite and positive. This is attacker-reachable only when Mirostat (v1 or v2) is the active sampling mode, which is not the default and must be explicitly selected by the client or request, and only on an instance reachable over the network that accepts attacker-influenced sampling parameters; the precise parameter value range that produces the non-finite or zero-sum condition is not described in the available sources.

Know when Llama Cpp 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 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Network-reachable server accepts attacker-chosen Mirostat parameters unauthenticated (AV:N/PR:N/AC:L); the reachable assertion aborts the whole process (A:H); no confidentiality or integrity impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/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
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

A security flaw has been discovered in ggml-org llama.cpp up to 0.7.0. Affected by this vulnerability is an unknown functionality of the file src/llama-sampler.cpp of the component Mirostat Sampler. The manipulation results in reachable assertion. It is possible to launch the attack remotely. The project was informed of the problem early through a pull request but has not reacted yet.

Threat Intelligence Overview

EPSS Score
0.6%
Top 50% exploitable
Prevalence
High
extremely popular LLM inference engine, embedded in many local AI tools
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL 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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.6%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
High
Technical Impact
Partial

Priority Score

35
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2024-42479 CRITICAL POC
10.0 Aug 12

Arbitrary memory write in llama.cpp's RPC server allows remote unauthenticated attackers to corrupt arbitrary memory add

CVE-2024-21802 HIGH POC
8.8 Feb 26

Remote code execution in llama.cpp (commit 18c2e17) is possible when a user opens a malicious .gguf model file, triggeri

CVE-2026-21869 HIGH POC
8.8 Jan 08

Llama.cpp server endpoints fail to validate the n_discard parameter from JSON input, allowing negative values that trigg

CVE-2024-21825 HIGH POC
8.8 Feb 26

Remote code execution in llama.cpp (commit 18c2e17) is possible when a victim loads a malicious .gguf model file, trigge

CVE-2024-23605 HIGH POC
8.8 Feb 26

Remote code execution in llama.cpp (GGUF library) allows attackers to achieve arbitrary code execution by tricking a use

CVE-2024-23496 HIGH POC
8.8 Feb 26

Remote code execution in llama.cpp (commit 18c2e17) occurs when the GGUF library's gguf_fread_str function parses a mali

CVE-2024-21836 HIGH POC
8.8 Feb 26

Heap-based buffer overflow in llama.cpp's GGUF library header parser (commit 18c2e17) enables code execution when a vict

CVE-2025-52566 HIGH POC
8.6 Jun 24

CVE-2025-52566 is a signed vs. unsigned integer overflow vulnerability in llama.cpp's tokenizer (llama_vocab::tokenize f

CVE-2026-34159 CRITICAL
9.8 Apr 01

Remote code execution in llama.cpp RPC backend allows unauthenticated attackers with TCP access to achieve arbitrary mem

CVE-2024-42478 MEDIUM POC
5.3 Aug 12

llama.cpp provides LLM inference in C/C++. Rated medium severity (CVSS 5.3), this vulnerability is remotely exploitable,

CVE-2026-43629 CRITICAL
9.2 Aug 06

Heap buffer overflow in llama.cpp's server KV cache state-restore path (builds b4882 through b9058) lets an attacker who

CVE-2026-118375 CRITICAL
9.2 Oct 28

Stack-based out-of-bounds write in llama.cpp's ggml-rpc RDMA receive path (builds b8841 through b11865) lets unauthentic

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