HIGH✓ PATCH🇬🇧 English

CVE-2026-43622

Double free w llama.cpp Android JNI — RCE lub DoS

CVSS 8.5v4.0pub. 2026-08-06upd. 2026-09-04

Biblioteka llama.cpp w wersjach b1886–b7445 zawiera podatność typu double free w warstwie JNI dla systemu Android, wynikającą z niezgodności mechanizmów alokacji i zwalniania pamięci. Błąd może prowadzić do awarii procesu (DoS) lub potencjalnie do wykonania dowolnego kodu (RCE).

Pokaż oryginał (EN)

llama.cpp builds b1886 through b7445 contain a double free vulnerability in the LLaMA-Android JNI wrapper where new_1batch() allocates memory using malloc() while free_1batch() deallocates it using the C++ delete operator, causing heap metadata corruption. Attackers can trigger this memory management mismatch to cause denial of service through process crashes or potentially achieve arbitrary code execution depending on allocator state.

🤖 Analiza AI
Jak działa

Funkcja new_1batch() alokuje pamięć przy użyciu malloc(), natomiast free_1batch() zwalnia ją operatorem delete z C++. Mieszanie tych dwóch mechanizmów zarządzania pamięcią powoduje uszkodzenie metadanych sterty (heap metadata corruption). Atakujący może wywołać ten błąd, skłaniając użytkownika do uruchomienia odpowiednio spreparowanego wejścia (wymagana interakcja użytkownika), co skutkuje nieprzewidywalnym stanem alokatora pamięci — w zależności od tego stanu możliwa jest awaria procesu lub wykonanie arbitralnego kodu.

Skutki

Atakujący może doprowadzić do odmowy usługi (DoS) poprzez crash procesu lub, w sprzyjających warunkach alokatora, osiągnąć wykonanie dowolnego kodu (RCE) na urządzeniu ofiary.

Mitygacja

Należy zaktualizować llama.cpp do wersji b7446 lub nowszej, w której wprowadzono poprawkę (commit 5c0d18881e0e9794c96b2602736b758bac9d9388 w repozytorium ggml-org/llama.cpp). Dostępne łatki i wydanie dostępne są pod adresem: https://github.com/ggml-org/llama.cpp/releases/tag/b7446

Kogo dotyczy

llama.cpp w wersjach b1886 do b7445 — komponent LLaMA-Android JNI wrapper; dotyczy aplikacji mobilnych na platformie Android korzystających z tej biblioteki.

Uwagi

Poprawka dostępna w commicie 5c0d18881e0e9794c96b2602736b758bac9d9388; nowe wydanie b7446 jest pierwszą wersją wolną od podatności. Referencje wskazują na repozytorium Vladimir-tokarev-cyera/llama-cpp-security-patches jako potencjalne źródło zgłoszenia błędu.

CVSS Vector
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
  • Ggml Llama.cpp

    APP
    Ggml
    b1886 – b7445
🟢
PATCH DOSTĘPNY
Aktualizacja od producenta gotowa. Wdrożenie w ramach standardowego cyklu.
Tagi
RCEDoS
CWE
Referencje

Powiązane podatności

CVE-2026-34159CRITICAL9.8PL ✓ten sam produkt

RCE w llama.cpp — brak walidacji granic w RPC backend (deserialization)

CVE-2024-42479CRITICAL10.0PL ✓ten sam produkt

Zapis pod dowolny adres pamięci w llama.cpp poprzez wskaźnik rpc_tensor

CVE-2026-52131HIGH7.5ten sam produkt

llama.cpp b5693 and before has a Reachable Assertion via the gguf_reader::read function.

CVE-2026-52130HIGH7.5ten sam produkt

llama.cpp b5693 and before is vulnerable to Uncontrolled Recursion in common/json-schema-to-grammar.cpp, resul...

CVE-2026-52132HIGH7.5ten sam produkt

llama.cpp through commit 97f06e9, when started with the --reranking flag, allows remote attackers to cause a d...