llama.cpp b1886–b7445 Race Condition Use-After-Free via llama-android.cpp
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ggml-org | llama.cpp | unaffected |
|
No data.
| Vendor | Product | Versions | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Ggml-org | Llama.cpp |
|
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.240% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Ggml
Ggml llama.cpp |
|
| CPEs | cpe:2.3:a:ggml:llama.cpp:*:*:*:*:*:*:*:* | |
| Vendors & Products |
Ggml
Ggml llama.cpp |
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Ggml-org
Ggml-org llama.cpp |
|
| Vendors & Products |
Ggml-org
Ggml-org llama.cpp |
| Type | Values Removed | Values Added |
|---|---|---|
| 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. | |
| Title | llama.cpp b1886–b7445 Race Condition Use-After-Free via llama-android.cpp | |
| Weaknesses | CWE-362 CWE-476 |
|
| References |
| |
| Metrics |
cvssV3_1
|