llama.cpp tokenizer signed vs. unsigned heap overflow
Summary
llama.cpp tokenizer signed vs. unsigned heap overflow
Original description
The description as published by the source.
llama.cpp is an inference of several LLM models in C/C++. Prior to version b5721, there is a signed vs. unsigned integer overflow in llama.cpp's tokenizer implementation (llama_vocab::tokenize) (src/llama-vocab.cpp:3036) resulting in unintended behavior in tokens copying size comparison. Allowing heap-overflowing llama.cpp inferencing engine with carefully manipulated text input during tokenization process. This issue has been patched in version b5721.
Source: OSV.dev (Open Source Vulnerabilities) NVD GitHub Advisory OSV
Fix status by distribution
Fixed packages published by each distribution for this CVE
- Debian DEBIAN-CVE-2025-52566 llama.cpp Fixed in: 5760+dfsg-1
- Ubuntu UBUNTU-CVE-2025-52566 llama.cpp
References
- advisory github.com
- advisory github.com
- advisory nvd.nist.gov
- patch github.com