CVE-2026-70640CWE-362CWE-476

CVE-2026-70640

High · published August 7, 2026

CVSS v3.1
7.0
EPSS
0%
Percentile
14.3
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.0 · HIGH
Vector
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00240 · 14.3th percentile
Weaknesses
CWE-362 · Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition'); CWE-476 · NULL Pointer Dereference
Published
2026-08-07T02:18Z
Affected products (1)
ProductVersionsFixed in
ggml/llama.cpp≥ b1886, ≤ b7445—
References (4)
EPSS history
Timeline
  • 06 AUG 15:38Z
    llama.cpp b1886–b7445 Race Condition Use-After-Free via llama-android.cpp
    cvelistv5