Skip to main content

llama.cpp EUVDEUVD-2026-72459

| CVE-2026-86317 MEDIUM
Reachable Assertion (CWE-617)
2026-09-07 VulDB GHSA-c676-w283-jfxr
6.9
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Identify exposed RPC server port (50052/tcp)
  2. Delivery
    Craft malformed tensor descriptor with invalid ne field
  3. Exploit
    Send deserialization request to rpc_server::deserialize_tensor
  4. Execution
    Assertion failure triggers abort()
  5. Impact
    Server process terminates (DoS)

Vulnerability Assessment

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

Exploitation requires that the llama.cpp RPC server is explicitly compiled into the binary (non-default build flag -DGGML_RPC=ON) and actively running and network-reachable on its listening port (default 50052/tcp). The RPC server is not started by default in any llama.cpp configuration - an operator must deliberately launch llama-rpc-server or an equivalent invocation. No authentication is required once the server is reachable; the CVSS 4.0 vector confirms PR:N. Exploitation is limited to availability impact only (process crash/abort) with no confidentiality or integrity consequences. Deployments using llama.cpp exclusively for local or GPU-accelerated inference without the RPC component are entirely unaffected.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) confirms unauthenticated network exploitation with no attack complexity once the RPC server is reachable, but scores the vulnerable-system availability impact as VA:L. This appears to understate the impact: a triggered assertion causes abort(), terminating the entire server process - effectively a complete, if temporary, availability loss for the RPC service. Real-world risk is substantially gated by the deployment condition: the llama.cpp RPC server is an optional, non-default feature that must be explicitly compiled (typically with -DGGML_RPC=ON) and deliberately started by the operator, usually on a trusted network. Without the RPC server running, this CVE is not exploitable. No exploit code is public, no KEV listing exists, and EPSS data was not provided. The risk to typical llama.cpp deployments (CPU/GPU inference without RPC) is zero; the risk to distributed/multi-node setups with the RPC server exposed is a straightforward remote crash. The upstream issue closure due to inactivity raises concern that no patch is forthcoming.

Exploit ScenarioDerived

An attacker with network access to an exposed llama.cpp RPC server sends a crafted binary RPC request where the tensor descriptor's ne (element-count/shape) field contains an invalid or out-of-range value. The deserialize_tensor function passes this value to an assertion check, which fails and calls abort(), immediately terminating the server process and interrupting any ongoing inference workload. No public proof-of-concept exists, but the attack requires only knowledge of the RPC protocol wire format, which is documented in the open-source codebase.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 07, 2026

Unauthenticated remote denial-of-service in llama.cpp's RPC server allows a remote attacker to crash the server process by sending a crafted tensor descriptor with a manipulated ne (number-of-elements) argument to rpc_server::deserialize_tensor, triggering a reachable assertion (CWE-617) and aborting the process. Affected versions span llama.cpp up to 0.4.0 when the optional RPC server component is compiled and active. No patch has been released; the upstream GitHub issue was closed automatically due to inactivity, and no public exploit or CISA KEV listing exists at time of analysis.

RemediationAI

No vendor-released patch has been identified at time of analysis - the GitHub issue (https://github.com/ggml-org/llama.cpp/issues/25288) was closed automatically due to inactivity without a fix. The primary mitigation is to disable the RPC server entirely if distributed inference is not required: do not compile llama.cpp with RPC support (-DGGML_RPC=ON) and do not start llama-rpc-server. If the RPC server must remain operational, restrict its listening interface to a trusted private network or loopback only, and enforce firewall rules blocking external access to the RPC port (default 50052/tcp). Network-level filtering introduces no functional side effects for legitimate internal use. Operators should monitor the upstream repository for a patch commit to ggml/src/ggml-rpc/ggml-rpc.cpp adding input validation on the ne field prior to assertion-guarded logic.

Affected VersionsENISA

llama.cpp 0.1
llama.cpp 0.3
llama.cpp 0.4.0
llama.cpp 0.2

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 (cpe:2.3:a:ggml-org:llama.cpp:*:*:*:*:*:*:*:*) is an open-source C/C++ inference engine for large language models. Its optional RPC server component (ggml/src/ggml-rpc/ggml-rpc.cpp) enables distributed tensor offloading over the network, allowing remote compute backends to participate in inference. The rpc_server::deserialize_tensor function reconstructs a tensor object from a network-supplied binary payload, including the ne field which encodes tensor shape dimensions. CWE-617 (Reachable Assertion) means a defensive assert() or equivalent invariant check is reachable by attacker-controlled input - when triggered in a C/C++ process compiled with assertions enabled, it calls abort(), immediately terminating the server process with no opportunity for recovery within the session.

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 unauthenticated RPC; assertion abort terminates the process entirely, warranting A:H over the input's VA:L.

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 vulnerability was detected in ggml-org llama.cpp up to 0.4.0. This impacts the function rpc_server::deserialize_tensor of the file ggml/src/ggml-rpc/ggml-rpc.cpp of the component RPC Server. Performing a manipulation of the argument ne results in reachable assertion. The attack is possible to be carried out remotely. The reported GitHub issue was closed automatically due to inactivity.

Threat Intelligence Overview

EPSS Score
0.4%
Top 66% exploitable
Prevalence
Medium
popular open-source LLM inference engine among AI practitioners
Data Quality
6 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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available No
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
Medium
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
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