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.
CVE-2026-70640
CVSS base score
7.0 (v3.1)
Severity
HIGH
Attack vector
Local
Weakness
CWE-362, CWE-476
Last modified
October 29, 2026
CVSS vector
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
Affected products
ggml llama.cpp
References
- github.com Patch, Third Party Advisory
- github.com Patch
- github.com Patch, Release Notes, Vendor Advisory
- www.vulncheck.com Exploit, Third Party Advisory