llama.cpp builds b4882 through b9058 contain a heap buffer overflow vulnerability in the KV cache state restore path where the statereaddata() function computes write size without overflow checking, allowing attackers with write access to the slotsavepath directory to corrupt heap memory. Attackers can craft malicious state files where cell_count multiplication overflows or exceeds tensor buffer allocation to write attacker-controlled bytes past buffer boundaries, potentially resulting in heap metadata corruption, model weight corruption, or arbitrary code execution via function pointer overwrite.
{
"binaries": [
{
"binary_version": "8681+dfsg-1",
"binary_name": "libllama0"
},
{
"binary_version": "8681+dfsg-1",
"binary_name": "llama.cpp"
},
{
"binary_version": "8681+dfsg-1",
"binary_name": "llama.cpp-examples"
},
{
"binary_version": "8681+dfsg-1",
"binary_name": "llama.cpp-tests"
},
{
"binary_version": "8681+dfsg-1",
"binary_name": "llama.cpp-tools"
},
{
"binary_version": "8681+dfsg-1",
"binary_name": "llama.cpp-tools-extra"
},
{
"binary_version": "8681+dfsg-1",
"binary_name": "python3-gguf"
}
]
}