CVE-2026-17501
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 34 - wyżej niż 34% wszystkich znanych CVE
Streszczenie
W projekcie ggml-org llama.cpp (commit e15efe0) wykryto błąd w funkcji transform pliku common/json-schema-to-grammar.cpp, powodujący niekontrolowaną rekurencję podczas konwersji JSON-Schema na GBNF. Atak może być przeprowadzony zdalnie.
Ocena ryzyka
Zdalny atakujący może spowodować awarię aplikacji lub wyczerpanie zasobów poprzez wysłanie specjalnie spreparowanego żądania.
Rekomendacja
Zaleca się monitorowanie repozytorium i zastosowanie poprawki, gdy tylko zostanie udostępniona.
Inne podatności w llama.cpp
Zobacz wszystkie- CVE-2026-107183Wysokie
llama.cpp przed wersją b11393 zawiera podatność use-after-free i double free w funkcji common_chat_peg_mapper::map, która pozwala nieuwierzytelnionym zdalnym atakującym uszkodzić pamięć sterty przez zwisający wskaźnik current_tool. Atakujący mogą wysłać chat_parser w żądaniu POST /completion emitującym tool-id po tagu tool-close, aby spowodować awarię llama-server i uzyskać prymityw zapisu do sterty.
- CVE-2026-86317Średnie
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.
- 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.
Oryginalny opis (angielski, źródło NVD)
A flaw has been found in ggml-org llama.cpp e15efe0. This vulnerability affects the function transform of the file common/json-schema-to-grammar.cpp of the component JSON-Schema-to-GBNF Conversion. This manipulation causes uncontrolled recursion. The attack may be initiated remotely. The pull request to fix this issue awaits acceptance.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

