CVE-2026-116096
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 2 - wyżej niż 2% wszystkich znanych CVE
Streszczenie
W ggml-org llama.cpp funkcja list_pockettts_state_slots w pliku tools/mtmd/models/pockettts-gen.cpp (komponent Pocket-TTS) pozwala na out-of-bounds write poprzez manipulację argumentem mmproj. Atak wymaga lokalnego dostępu, a exploit jest publicznie dostępny. Aktualizacja do wersji b11796 rozwiązuje problem.
Ocena ryzyka
Lokalny atakujący może wykorzystać lukę do zapisu poza granicami bufora, co może prowadzić do wykonania kodu lub awarii aplikacji.
Rekomendacja
Zaktualizuj llama.cpp do wersji b11796 lub nowszej.
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-119052Wysokie
llama.cpp w wersjach od b2877 do przed b11935 zawiera podatność nieobsłużonego wyjątku w serwerze ggml-rpc. Nieuwierzytelniony zdalny atakujący może wysłać zbyt dużą długość wiadomości (np. w poleceniu SET_TENSOR), wywołując std::length_error i przerwanie procesu. Prowadzi to do odmowy usługi dla wszystkich klientów.
- CVE-2026-118375Wysokie
llama.cpp w wersjach od b8841 do b11865 zawiera podatność na zapis poza granicami bufora w funkcji rdma_recv() transportu RDMA ggml-rpc, która pozwala nieuwierzytelnionym peером na przepełnienie stosu serwera rpc-server. Atakujący deklarujący obsługę RDMA w wiadomości HELLO mogą wysłać do 256 KiB do zmiennej stosu o rozmiarze 1 bajta w rpc_serve_client(), powodując awarię serwera lub potencjalne wykonanie kodu.
- CVE-2026-116840Średnie
llama.cpp w wersjach od b5854 do b11275 zawiera podatność przepełnienia liczby całkowitej w funkcji gguf_init_from_reader, która omija sprawdzenie rozmiaru z CVE-2025-53630 poprzez dopełnienie rozmiarów tensorów bliskich SIZE_MAX. Atakujący może dostarczyć spreparowany plik GGUF, którego rozmiar tensora dopełnia się do zera, powodując zbyt mały blok danych i odczyty poza granicami przez konsumentów.
- CVE-2026-116829Średnie
llama.cpp w wersjach od b10398 do b11301 zawiera podatność przepełnienia liczby całkowitej w funkcji gguf_init_from_reader, która pozwala obejść walidację liczby elementów tensora poprzez dostarczenie kształtów, których iloczyn zawija się do zera. Atakujący może spreparować pliki GGUF z ogromnymi wymiarami tensorów, które przepełniają ggml_nbytes() i kroki, powodując dostęp do pamięci poza granicami, gdy bufory są rozmiarowane na podstawie zawiniętych liczb bajtów.
- CVE-2026-116816Wysokie
llama.cpp w wersjach od b5899 przed b10261 zawiera podatność zapisu poza granice sterty (heap out-of-bounds write) w funkcji llm_tokenizer_plamo2::build, umożliwiającą atakującym uszkodzenie pamięci sterty za pomocą spreparowanych modeli GGUF. Atakujący może dostarczyć tekst tokenu typu BYTE, taki jak <0x-1>, którego ujemna wartość podczas ładowania modelu zapisuje identyfikatory tokenów przed buforem bytes_, powodując awarie lub potencjalne wykonanie kodu.
- CVE-2025-71439Średnie
llama.cpp przed wersją b5649 zawiera podatność polegającą na odczycie poza granicami sterty w funkcji llama_vocab::impl::print_info(), która pozwala atakującym na wywołanie awarii podczas ładowania modelu poprzez zbyt duże identyfikatory tokenów specjalnych. Atakujący może dostarczyć spreparowany model GGUF z krótką tablicą tokenizer.ggml.tokens, powodując odczyt poza id_to_token i awarię llama-cli lub llama-server.
- CVE-2024-58400Wysokie
llama.cpp w wersjach przed b3701 zawiera podatność odczytu poza granice (out-of-bounds read) w funkcjach llama_decode_internal i llama_encode_internal, umożliwiającą zdalnym nieuwierzytelnionym atakującym odczyt pamięci poprzez dostarczenie niezwalidowanych identyfikatorów tokenów. Atakujący może wysłać tablice liczb całkowitych do punktu końcowego /completion serwera llama-server z identyfikatorami spoza zakresu 0 do n_vocab, aby odczytać pamięć osadzeń poza granicami lub spowodować awarię procesu.
- CVE-2024-58399Średnie
llama.cpp przed wersją b2731 zawiera podatność polegającą na odczycie poza granicami w funkcji llama_model_loader, która pozwala atakującym na odczyt pamięci poza zmapowanym plikiem modelu poprzez spreparowane przesunięcia tensorów GGUF. Atakujący może dostarczyć spreparowany lub obcięty plik modelu GGUF z dowolnymi 64-bitowymi przesunięciami tensorów, powodując awarię procesu lub załadowanie sąsiedniej pamięci procesu jako wag modelu.
- CVE-2026-116467Średnie
W ggml-org llama.cpp do wersji 0.7.0 wykryto lukę w nieznanej funkcjonalności pliku src/llama-sampler.cpp komponentu Mirostat Sampler. Manipulacja prowadzi do osiągalnego asercji (reachable assertion), a atak można przeprowadzić zdalnie. Projekt został poinformowany o problemie przez pull request, ale jeszcze nie zareagował.
Oryginalny opis (angielski, źródło NVD)
A weakness has been identified in ggml-org llama.cpp. Affected by this issue is the function list_pockettts_state_slots of the file tools/mtmd/models/pockettts-gen.cpp of the component Pocket-TTS. This manipulation of the argument mmproj causes out-of-bounds write. The attack requires local access. The exploit has been made available to the public and could be used for attacks. Upgrading to version b11796 can resolve this issue. Patch name: 0a1ef309cdbb9f2024f58a38fb4c42352c5db569. The affected component should be upgraded. The reported heap out‑of‑bounds write (gen‑audio / pocket‑tts state_out path) is no longer a silent exploitable heap write on current master and the latest release b11871 - a malicious mmproj that previously triggered it now trips a release‑active GGML_ASSERT and aborts. But the submitter's recommended by‑construction fix (PR #29360 "prevent OOB accesses from malformed mmproj files") is still open. So the root cause is detected‑and‑aborted, not prevented‑by‑design.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

