CVE-2026-70640
7.3
CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Summary
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.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| ggml-org | llama.cpp | b1886 <= b7445 | affected |
| ggml-org | llama.cpp | 0.9.0 <= 0.17.1 | affected |
| ggml-org | llama.cpp | 5c0d18881e0e9794c96b2602736b758bac9d9388 | unaffected |
Weaknesses
- CWE-476: CWE-476 NULL Pointer Dereference
- CWE-362: CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
References
- https://github.com/ggml-org/llama.cpp/releases/tag/b7446
- https://github.com/ggml-org/llama.cpp/commit/5c0d18881e0e9794c96b2602736b758bac9d9388
- https://github.com/Vladimir-tokarev-cyera/llama-cpp-security-patches
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.