llama.cpp Heap Out-of-Bounds Write via plamo2 Tokenizer
Key facts
- Attack vector
- Local
- Privileges required
- None
- User interaction
- Passive
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-129 and the CVSS impact.
Summary
llama.cpp from b5899 before b10261 contains a heap out-of-bounds write in the plamo2 tokenizer's build routine. A missing index check (CWE-129) lets a negative token id from a crafted GGUF model write data before the bytes buffer during model loading. An attacker who supplies a crafted model file can corrupt heap memory, causing crashes or potentially code execution, and exploitation requires user interaction.
Written with Claude Haiku 5.5 from the sources below · 2026-10-31
Description from the CNA
llama.cpp b5899 before b10261 contains a heap out-of-bounds write vulnerability in llm_tokenizer_plamo2::build that allows attackers to corrupt heap memory via crafted GGUF models. Attackers can supply BYTE-typed token text like <0x-1> whose negative parsed value writes token ids before the bytes_ buffer during model loading, causing crashes or potential code execution.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
Update llama.cpp to b10261 or later.
Written with Claude Haiku 5.5 from the sources below · 2026-10-31
- Fix · CNA llama.cpp (ggml-org) Fixed in b10261
Timeline
- 2026-10-27 Threatist record created from CVE-2026-116816
- 2026-10-27 Alias added: GHSA-3r8c-j789-2864
- 2026-10-27 Priority changed: MEDIUM → LOW
- 2026-10-31 CISA SSVC decision points changed
References
Patch 3
More ggml-org vulnerabilities
- TI-2026-26459 llama.cpp: Unauthenticated RCE via GRAPH_COMPUTE buffer=0 bypass in llama.cpp RPC backend CVSS 3.1CRITICAL 9.8
- TI-2024-28446 llama.cpp allows Arbitrary Address Read in rpc_server::get_tensor CVSS 3.1CRITICAL 9.8
- TI-2026-17570 llama.cpp has Out-of-bounds Write in llama-server CVSS 3.1CRITICAL 9.8
- TI-2024-28447 llama.cpp allows write-what-where in rpc_server::set_tensor CVSS 3.1CRITICAL 10.0
- TI-2024-15627 Integer overflow in ggml-org llama.cpp CVSS 3.1CRITICAL 9.8
- TI-2024-14482 Heap-based buffer overflow in ggml-org llama.cpp CVSS 3.1CRITICAL 9.8
Sources
- CVE-2026-116816 · CVE Program
- CVE-2026-116816 · NVD
- FIRST EPSS
- GHSA-3r8c-j789-2864 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences