Skip to content
OpenAdvisories
High · 8.8 CVE-2025-49847 EUVD-2025-18632

llama.cpp Vulnerable to Buffer Overflow via Malicious GGUF Model

Published Jun 17, 2025 · Updated Jun 18, 2025 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
ggml-org llama.cpp < b5662 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 llama.cpp 5713+dfsg-1 —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 llama.cpp No fix yet —
Ubuntu 26.04 LTS llama.cpp No fix yet —
Ubuntu 25.10 llama.cpp No fix yet —
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed llamacpp 5699-1.1 openSUSE-SU-2025:15245-1

Advisories 2

References