Description
llama.cpp before b3701 contains an out-of-bounds read vulnerability in llama_decode_internal and llama_encode_internal that allows remote unauthenticated attackers to read memory by supplying unvalidated token IDs. Attackers can send integer-array prompts to the llama-server /completion endpoint with IDs outside 0 to n_vocab to read embedding memory out of bounds or crash the process.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| ggml-org | llama.cpp | < b3701 | b3701 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | llama.cpp | No fix yet | — |
| Ubuntu 26.04 LTS | llama.cpp | No fix yet | — |
References
- https://github.com/ggml-org/llama.cpp/pull/9359 patch issue-tracking
- https://github.com/ggml-org/llama.cpp/commit/faf69d4237c9ae4d7f572b4674d1002463e8acd3 patch
- https://github.com/ggml-org/llama.cpp/commit/eae597182cb61bbde0b26e7cec5999d28b9327fe patch
- https://github.com/ggml-org/llama.cpp/blob/b3681/examples/server/server.cpp#L789 technical-description
- llama.cpp b3701 Release Notes release-notes
- VulnCheck Advisory: llama.cpp before b3701 Out-of-Bounds Read in llama_decode via Token IDs third-party-advisory