Description
llama.cpp is an inference of several LLM models in C/C++. Prior to b7824, an integer overflow vulnerability in the `ggml_nbytes` function allows an attacker to bypass memory validation by crafting a GGUF file with specific tensor dimensions. This causes `ggml_nbytes` to return a significantly smaller size than required (e.g., 4MB instead of Exabytes), leading to a heap-based buffer overflow when the application subsequently processes the tensor. This vulnerability allows potential Remote Code Execution (RCE) via memory corruption. b7824 contains a fix.
Problem types
CWE-122: Heap-based Buffer Overflow
CWE-190: Integer Overflow or Wraparound
Product status
References
github.com/...ma.cpp/security/advisories/GHSA-96jg-mvhq-q7q7
github.com/ggml-org/llama.cpp/releases/tag/b7824