CVE-2026-18581
NiskieCVSS 3.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 2 - wyżej niż 2% wszystkich znanych CVE
Streszczenie
W projekcie ggml-org llama.cpp (commit e15efe0) wykryto podatność w parserze szablonów Jinja Minja (plik parser.cpp). Manipulacja wejściem {{9|9|{ może prowadzić do osiągalnego asercji (assertion failure). Atak wymaga dostępu lokalnego.
Ocena ryzyka
Lokalny atakujący może spowodować awarię aplikacji (DoS) poprzez wysłanie specjalnie spreparowanego wejścia do parsera szablonów.
Rekomendacja
Należy zastosować dostępną poprawkę lub ograniczyć dostęp lokalny do systemu. Projekt nie wydał jeszcze oficjalnej łatki.
Inne podatności w llama.cpp
Zobacz wszystkie- 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.
- 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`.
Oryginalny opis (angielski, źródło NVD)
A vulnerability was determined in ggml-org llama.cpp e15efe0. Affected by this issue is some unknown functionality of the file common/jinja/parser.cpp of the component Jinja Minja Template Parser. Executing a manipulation with the input {{9|9|{ can lead to reachable assertion. The attack requires local access. The exploit has been publicly disclosed and may be utilized. The project was informed of the problem early through an issue report but has not responded yet.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

