Katalog CVE

CVE-2026-70640

WysokieCVSS 7.0
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.16%

Percentyl 6 - wyżej niż 6% wszystkich znanych CVE

Streszczenie

llama.cpp w wersjach b1886 do b7445 zawiera podatność typu use-after-free związaną z wyścigiem w wrapperze JNI LLaMA-Android, gdzie funkcje bench_1model() i free_1context() nie są zsynchronizowane, co pozwala wątkowi A operować na zwolnionej pamięci, podczas gdy wątek B jednocześnie zwalnia llama_context. Atakujący może wykorzystać to przez heap spray z kontrolowanymi danymi zawierającymi fałszywą vtable, aby przejąć wskaźnik vtable i uzyskać zdalne wykonanie kodu.

Ocena ryzyka

Ryzyko zdalnego wykonania kodu w aplikacjach Android używających LLaMA-Android, co może prowadzić do pełnego przejęcia aplikacji i naruszenia danych.

Rekomendacja

Zaktualizuj llama.cpp do wersji nowszej niż b7445, która zawiera poprawkę synchronizacji. Jeśli to niemożliwe, ogranicz zaufanie do danych wejściowych i rozważ użycie sandboxa.

Inne podatności w llama.cpp

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS