CVE-2024-21836 Memory corruption in llama.cpp
A heap-based buffer overflow in llama.cpp allows attackers to execute arbitrary code via a specially crafted GGUF file.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- None listed
What is CVE-2024-21836?
CVE-2024-21836 is a high-severity memory corruption vulnerability in llama.cpp, published on 26 Feb 2024. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
A heap-based buffer overflow vulnerability exists in the GGUF library header.n_tensors functionality of llama.cpp Commit 18c2e17. A specially crafted .gguf file can lead to code execution. An attacker can provide a malicious file to trigger this vulnerability.
Which versions are affected by CVE-2024-21836?
It affects 1 product.
Products include Ggml Llama.cpp.
How do I fix CVE-2024-21836?
No fix has been published for CVE-2024-21836 yet. Limit exposure of the affected software until one is available.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2024-21836 being exploited?
There is no known exploitation of CVE-2024-21836 in the wild and no public exploit code.
Other vulnerabilities in llama.cpp
- CVE-2024-42479 llama.cpp allows write-what-where in rpc_server::set_tensor
- CVE-2026-34159 llama.cpp: Unauthenticated RCE via GRAPH_COMPUTE buffer=0 bypass in llama.cpp RPC backend
- CVE-2026-43629 llama.cpp b4882–b9058 Buffer Overflow in KV Cache State Restore
- CVE-2026-43631 llama.cpp b7492–b9060 Use-After-Free RCE via llama-server
- CVE-2026-43632 llama.cpp b7492–b9060 Use-After-Free in Tokenization Endpoints
Sources
Also known as GHSA-fhv7-8956-mv3h.