llama.cpp Vulnerable to Buffer Overflow via Malicious GGUF Model
Summary
llama.cpp Vulnerable to Buffer Overflow via Malicious GGUF Model
Original description
The description as published by the source.
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.
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-49847 llama.cpp Fixed in: 5713+dfsg-1
- Ubuntu UBUNTU-CVE-2025-49847 llama.cpp
References
- advisory github.com
- advisory github.com
- advisory nvd.nist.gov
- patch github.com