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
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
ggml-org llama.cpp
Default version status: unaffected
0 to < b3701affected
pkg:github/ggml-org/llama.cppReferences
- https://github.com/ggml-org/llama.cpp/pull/9359 ↗
- https://github.com/ggml-org/llama.cpp/commit/faf69d4237c9ae4d7f572b4674d1002463e8acd3 ↗
- https://github.com/ggml-org/llama.cpp/commit/eae597182cb61bbde0b26e7cec5999d28b9327fe ↗
- https://github.com/ggml-org/llama.cpp/blob/b3681/examples/server/server.cpp#L789 ↗
- https://github.com/ggml-org/llama.cpp/releases/tag/b3701 ↗
- https://www.vulncheck.com/advisories/llama-cpp-before-b3701-out-of-bounds-read-in-llama-decode-via-token-ids ↗