CRITICAL🇬🇧 English

CVE-2026-34159

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

CVSS 9.8v3.1pub. 2026-04-01upd. 2026-04-30

Podatność w bibliotece llama.cpp umożliwia nieuwierzytelnionemu atakującemu zdalne wykonanie kodu (RCE) poprzez wysłanie spreparowanych wiadomości do serwera RPC. Brak jakiejkolwiek walidacji granic podczas deserializacji tensora pozwala na odczyt i zapis dowolnych obszarów pamięci procesu.

Pokaż oryginał (EN)

llama.cpp is an inference of several LLM models in C/C++. Prior to version b8492, the RPC backend's deserialize_tensor() skips all bounds validation when a tensor's buffer field is 0. An unauthenticated attacker can read and write arbitrary process memory via crafted GRAPH_COMPUTE messages. Combined with pointer leaks from ALLOC_BUFFER/BUFFER_GET_BASE, this gives full ASLR bypass and remote code execution. No authentication required, just TCP access to the RPC server port. This issue has been patched in version b8492.

🤖 Analiza AI
Jak działa

Funkcja deserialize_tensor() w backendzie RPC pomija całkowicie weryfikację granic (bounds validation), gdy pole buffer tensora ma wartość 0. Atakujący może wysyłać spreparowane wiadomości GRAPH_COMPUTE, aby czytać i zapisywać dowolne obszary pamięci procesu. Dodatkowe wiadomości ALLOC_BUFFER oraz BUFFER_GET_BASE umożliwiają wyciek wskaźników, co pozwala na ominięcie mechanizmu ASLR. Do przeprowadzenia ataku wystarczy dostęp TCP do portu serwera RPC — uwierzytelnienie nie jest wymagane.

Skutki

Atakujący bez żadnych uprawnień może uzyskać pełną kontrolę nad procesem, w tym wykonać dowolny kod zdalnie (RCE), a także odczytać lub zmodyfikować wrażliwe dane w pamięci procesu.

Mitygacja

Należy zaktualizować llama.cpp do wersji b8492 lub nowszej, w której błąd został naprawiony. Jeśli aktualizacja nie jest możliwa natychmiast, należy zablokować dostęp do portu serwera RPC na poziomie firewall i ograniczyć go wyłącznie do zaufanych hostów.

Kogo dotyczy

llama.cpp (Ggml) we wszystkich wersjach poprzedzających b8492, gdy aktywny jest backend RPC i serwer RPC jest dostępny przez sieć.

Uwagi

Podatność została naprawiona w wersji b8492. Szczegóły dostępne w GitHub Security Advisory GHSA-j8rj-fmpv-wcxw oraz pull request #20908.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Ggml Llama.cpp

    APP
    Ggml
    < b8492
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEAuth BypassDeserialization
CWE
Referencje

Powiązane podatności

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

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

CVE-2026-33298HIGH7.8ten sam produkt

llama.cpp is an inference of several LLM models in C/C++. Prior to b7824, an integer overflow vulnerability in...

CVE-2026-27940HIGH7.8ten sam produkt

llama.cpp is an inference of several LLM models in C/C++. Prior to b8146, the gguf_init_from_file_impl() in gg...

CVE-2026-21869HIGH8.8ten sam produkt

llama.cpp is an inference of several LLM models in C/C++. In commits 55d4206c8 and prior, the n_discard parame...

CVE-2025-52566HIGH8.6ten sam produkt

llama.cpp is an inference of several LLM models in C/C++. Prior to version b5721, there is a signed vs. unsign...