llama.cpp is an inference of several LLM models in C/C++. Prior to version b5662, an attackerâsupplied GGUF model vocabulary can trigger a buffer overflow in llama.cppâs vocabularyâloading code. Specifically, the helper _try_copy in llama.cpp/src/vocab.cpp: llama_vocab::impl::token_to_piece() casts a very large size_t token length into an int32_t, causing the length check (if (length < (int32_t)size)) to be bypassed. As a result, memcpy is still called with that oversized size, letting a malicious model overwrite memory beyond the intended buffer. This can lead to arbitrary memory corruption and potential code execution. This issue has been patched in version b5662.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:HGgml Llama.cpp
APPGgml< b5662
Related vulnerabilities
RCE w llama.cpp â brak walidacji granic w RPC backend (deserialization)
Zapis pod dowolny adres pamiÄci w llama.cpp poprzez wskaĆșnik rpc_tensor
llama.cpp is an inference of several LLM models in C/C++. Prior to b7824, an integer overflow vulnerability in...
llama.cpp is an inference of several LLM models in C/C++. Prior to b8146, the gguf_init_from_file_impl() in gg...
llama.cpp is an inference of several LLM models in C/C++. In commits 55d4206c8 and prior, the n_discard parame...