CVE-2026-70640 llama.cpp b1886–b7445 Race Condition Use-After-Free via llama-android.cpp
A race condition in the Android JNI wrapper allows attackers to trigger a use-after-free, leading to remote code execution via heap spraying.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-70640?
CVE-2026-70640 is a high-severity use after free vulnerability in ggml-org llama.cpp, published on 6 Aug 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Official description
llama.cpp builds b1886 through b7445 contain a race condition use-after-free vulnerability in the LLaMA-Android JNI wrapper where bench_1model() and free_1context() lack synchronization, allowing Thread A to operate on freed memory while Thread B concurrently frees the llama_context. Attackers can exploit this by performing heap spray with attacker-controlled data containing a fake vtable to hijack the vtable pointer at offset +0x30, causing llama_batch_allocr::clear() to dereference arbitrary memory and achieve remote code execution.
Which versions are affected by CVE-2026-70640?
It affects 1 product.
Products include Ggml Llama.cpp.
How do I fix CVE-2026-70640?
Apply the vendor's patch.
Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.
Is CVE-2026-70640 being exploited?
There is no known exploitation of CVE-2026-70640 in the wild and no public exploit code.
Other vulnerabilities in ggml-org 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 DEBIAN-CVE-2026-70640, GHSA-vfpq-2xx5-4vrv.