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.
{
"binaries": [
{
"binary_name": "libllama0",
"binary_version": "10438+dfsg-1ubuntu1"
},
{
"binary_name": "llama.cpp",
"binary_version": "10438+dfsg-1ubuntu1"
},
{
"binary_name": "llama.cpp-examples",
"binary_version": "10438+dfsg-1ubuntu1"
},
{
"binary_name": "llama.cpp-services",
"binary_version": "10438+dfsg-1ubuntu1"
},
{
"binary_name": "llama.cpp-tests",
"binary_version": "10438+dfsg-1ubuntu1"
},
{
"binary_name": "llama.cpp-tools",
"binary_version": "10438+dfsg-1ubuntu1"
},
{
"binary_name": "llama.cpp-tools-extra",
"binary_version": "10438+dfsg-1ubuntu1"
},
{
"binary_name": "python3-gguf",
"binary_version": "10438+dfsg-1ubuntu1"
}
]
}
{
"binaries": [
{
"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",
"binary_version": "8681+dfsg-1"
}
]
}