CVE-2026-86317
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 34 - wyżej niż 34% wszystkich znanych CVE
Streszczenie
W ggml-org llama.cpp do wersji 0.4.0 wykryto podatność w funkcji rpc_server::deserialize_tensor w pliku ggml/src/ggml-rpc/ggml-rpc.cpp, w komponencie RPC Server. Manipulacja argumentem ne prowadzi do osiągalnego asercji. Atak może być przeprowadzony zdalnie. Zgłoszone zgłoszenie GitHub zostało automatycznie zamknięte z powodu braku aktywności.
Ocena ryzyka
Ryzyko polega na możliwości zdalnego wywołania błędu asercji, co może prowadzić do awarii serwera RPC i zakłócenia działania usług.
Rekomendacja
Zaleca się zaktualizowanie llama.cpp do najnowszej wersji zawierającej poprawkę oraz ograniczenie dostępu do serwera RPC tylko do zaufanych klientów.
Inne podatności w llama.cpp
Zobacz wszystkie- CVE-2026-52132Wysokie
llama.cpp do commita 97f06e9, gdy uruchomiony z flagą --reranking, pozwala zdalnym atakującym na spowodowanie odmowy usługi (std::bad_alloc i HTTP 500) poprzez ujemną wartość top_n w żądaniu POST do /rerank.
- CVE-2026-52131Wysokie
llama.cpp b5693 i wcześniejsze ma osiągalną asercję przez funkcję gguf_reader::read.
- CVE-2026-52130Wysokie
llama.cpp w wersji b5693 i wcześniejszych jest podatny na niekontrolowaną rekurencję w pliku common/json-schema-to-grammar.cpp, co prowadzi do odmowy usługi.
- CVE-2026-78148Średnie
W ggml-org llama.cpp bec4772f6 znaleziono podatność w funkcji rpc_server::graph_compute pliku ggml/src/ggml-rpc/ggml-rpc.cpp komponentu ggml-RPC Server. Wykonanie manipulacji prowadzi do wyłuskania pustego wskaźnika (null pointer dereference). Atak może być przeprowadzony zdalnie. Pull request z poprawką oczekuje na akceptację.
- CVE-2026-78147Wysokie
Podatność w llama.cpp w funkcji deserialize_tensor pliku ggml/src/ggml-rpc/ggml-rpc.cpp komponentu ggml-RPC Server. Manipulacja argumentami op/op_params prowadzi do deserializacji. Atak może być przeprowadzony zdalnie. Podatność różni się od CVE-2026-34159, która tylko dodaje odrzucenie buffer==nullptr w create_node() i nie waliduje op ani op_params. Zgłoszone zgłoszenie GitHub zostało automatycznie zamknięte z powodu braku aktywności.
- CVE-2026-70640Wysokie
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.
- CVE-2026-70639Średnie
W llama.cpp w wersjach b1886 do b7445 występuje podatność na dereferencję pustego wskaźnika w wrapperze JNI LLaMA-Android, gdzie funkcja bench_1model() nie sprawdza wskaźnika kontekstu modelu przed jego użyciem. Atakujący może dostarczyć złośliwy, uszkodzony lub skrócony plik modelu, aby wywołać warunek pustego kontekstu, powodując awarię SIGSEGV i zakończenie procesu aplikacji Android.
- CVE-2026-70638Wysokie
llama.cpp w wersjach b1886 do b7445 zawiera podatność przepełnienia liczby całkowitej w wrapperze JNI LLaMA-Android, gdzie funkcja new_1batch() mnoży sizeof(llama_seq_id) przez kontrolowany przez atakującego parametr n_seq_max bez walidacji przepełnienia, co powoduje zawinięcie alokacji bufora i przydzielenie niewystarczającej pamięci. Atakujący może wykorzystać to przez podanie spreparowanej wartości n_seq_max w złośliwym pliku modelu lub wywołaniu JNI, aby wywołać uszkodzenie sterty i uzyskać odmowę usługi lub wykonanie kodu.
- CVE-2026-43632Wysokie
llama.cpp w wersjach od b7492 do najnowszej b9060 zawiera podatność use-after-free w llama-server, wpływającą na sześć endpointów tokenizacji (/tokenize, /detokenize, /infill, /apply-template, /rerank i /anthropic/count_tokens), które omijają kolejkę zadań i uzyskują bezpośredni dostęp do `ctx_server.vocab` w wątkach roboczych HTTP. Atakujący mogą wykorzystać wyścig typu time-of-check-time-of-use, gdzie główny wątek niszczy i zwalnia vocab po zwolnieniu blokady synchronizacji, ale zanim handler zakończy jego użycie, powodując awarię lub potencjalne wykonanie kodu, gdy skonfigurowano `--sleep-idle-seconds`.
- CVE-2026-43631Wysokie
llama.cpp w wersjach od b7492 do najnowszej b9060 zawiera podatność use-after-free w wskaźniku vocab w llama-server, gdy włączona jest funkcja `--sleep-idle-seconds`, co pozwala nieuwierzytelnionym zdalnym atakującym na wykonanie dowolnego kodu. Atakujący mogą wywołać podatność, wysyłając żądania do dotkniętych endpointów podczas przechodzenia serwera w tryb uśpienia, powodując, że współbieżne wątki robocze odwołują się do zwolnionego wskaźnika vocab, który może zostać odzyskany przez dane kontrolowane przez atakującego, aby osiągnąć zdalne wykonanie kodu.
Oryginalny opis (angielski, źródło NVD)
A vulnerability was detected in ggml-org llama.cpp up to 0.4.0. This impacts the function rpc_server::deserialize_tensor of the file ggml/src/ggml-rpc/ggml-rpc.cpp of the component RPC Server. Performing a manipulation of the argument ne results in reachable assertion. The attack is possible to be carried out remotely. The reported GitHub issue was closed automatically due to inactivity.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

