ggml llama.cpp vulnerabilities (CVE)

CVE records published for ggml llama.cpp, newest first. Follow to get an email when a new one appears.

28 results
7.5High
CVE-2026-52132
ggml llama.cpp

llama.cpp through commit 97f06e9, when started with the --reranking flag, allows remote attackers to cause a denial of service (std::bad_alloc and HTTP 500) via a negative top_n value in a POST request to /rerank.

7.5High
CVE-2026-52131
ggml llama.cpp

llama.cpp b5693 and before has a Reachable Assertion via the gguf_reader::read function.

7.5High
CVE-2026-52130
ggml llama.cpp

llama.cpp b5693 and before is vulnerable to Uncontrolled Recursion in common/json-schema-to-grammar.cpp, resulting in a denial of service.

8.1High
CVE-2026-43631

llama.cpp b7492–b9060 Use-After-Free RCE via llama-server

ggml-org llama.cpp

llama.cpp builds b7492 through the latest b9060 contains a use-after-free vulnerability in the vocab pointer of llama-server when the --sleep-idle-seconds feature is enabled, allowing unauthenticated remote attackers to execute arbitrary code. Attackers can t…

6.5Medium
CVE-2026-43630

llama.cpp b4882-b8487 Out-of-Bounds Read Information Disclosure

ggml-org llama.cpp

llama.cpp builds b4882 before b8487 contain an out-of-bounds read vulnerability in the recurrent memory state restore path that allows attackers with write access to the slot save directory to read memory past the end of the allocated cells array. Attackers c…

7.8High
CVE-2026-43628

llama.cpp b3978–b9058 Integer Underflow via DRY Sampler

ggml-org llama.cpp

llama.cpp builds b3978 through b9058 contain an integer underflow and out-of-bounds read vulnerability in the DRY sampler that allows unauthenticated attackers to trigger a heap buffer underflow by sending a crafted HTTP request with dry_allowed_length set to…

7.8High
CVE-2026-43622

llama.cpp b1886–b7445 Double Free via llama-android.cpp

ggml-org llama.cpp

llama.cpp builds b1886 through b7445 contain a double free vulnerability in the LLaMA-Android JNI wrapper where new_1batch() allocates memory using malloc() while free_1batch() deallocates it using the C++ delete operator, causing heap metadata corruption. At…