CVE-2025-49847
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.
Scoring
- Severity
- HIGH
- CVSS base score
- 8.8
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
- EPSS probability
- 0.48%
- CWE
- CWE-119, CWE-195
- Published
- 2025-06-17
- Last modified
- 2026-03-13
Affected products
- ggml-org llama.cpp
Weakness type
Related vulnerabilities
- CVE-2026-87489 — Memory corruption in V8 in Google Chrome prior to 153.0.8010.36 allowed a remote attacker to...
- CVE-2026-87444 — Memory corruption in Codecs in Google Chrome prior to 153.0.8010.36 allowed a remote attacker to...
- CVE-2026-86716 — Cesanta mJS mjs_tok.c skip_spaces_and_comments heap-based overflow
- CVE-2026-86514 — vgmstream txth-txtp txth.c sscanf stack-based overflow
- CVE-2026-86510 — D-Link DIR-822A L2TP Control Message tunnel_set_params out-of-bounds write
- CVE-2026-86509 — D-Link DIR-895L udhcpcd serverpacket.c sendACK stack-based overflow
- CVE-2026-86318 — java-json-tools json-patch JsonMergePatchDeserializer.java JsonMergePatch.fromJson stack-based overflow
- CVE-2026-86303 — 92181 markdown md.c lds out-of-bounds