Impact
The vulnerability arises from an integer underflow in the DRY sampler between revisions b3978 and b9058 of llama.cpp, causing an out‑of‑bounds read when the dry_allowed_length parameter is set to INT32_MIN. This integer underflow (CWE‑191) and subsequent out‑of‑bounds read (CWE‑125) can be triggered by an unauthenticated attacker by sending a specially crafted request to the /v1/completions or /v1/chat/completions endpoints. Successful exploitation can crash the server with a SIGSEGV, thereby denying service to all connected users, or can read garbage memory and corrupt token sampling probabilities.
Affected Systems
Products affected are ggml-org:llama.cpp revisions b3978 through b9058. The flaw resides in the DRY sampler logic handling HTTP requests to the completion endpoints. No other versions or related components are listed as vulnerable.
Risk and Exploitability
The CVSS score of 8.5 indicates a high severity. The EPSS score is not available, and the vulnerability is not listed in the CISA KEV catalog. Attackers require only the ability to send an HTTP request to the vulnerable endpoints; authentication is not needed. Consequently, the risk of exploitation is realistic but depends on network exposure and the likelihood of a crafted request reaching the target.
OpenCVE Enrichment