Impact
The vulnerability is a heap buffer overflow in the gz_vacate() function of zlib versions 1.3.1.2 through 1.3.2. When gzwrite() operations are performed in non‑blocking mode and the external buffer pointer becomes stale, the subsequent execution of gzprintf() or gzvprintf() triggers an unchecked memmove that writes beyond the boundary of the library's internal input buffer. This overflow permits an attacker to overwrite data on the heap, potentially leading to arbitrary code execution, process crash, or other integrity violations.
Affected Systems
The affected product is the zlib compression library released by its maintainers. Versions 1.3.1.2 up to and including 1.3.2 are vulnerable. All installations of zlib that link to those releases and use non‑blocking gzwrite calls are at risk.
Risk and Exploitability
The CVSS score of 8.3 reflects significant risk. The EPSS score is not reported, and the vulnerability is not yet listed in the CISA KEV catalog. The likely attack vector is a local or embedded context in which an application can invoke the vulnerable zlib API; preserving stale external buffer pointers across non‑blocking writes is required for exploitation. Because the condition depends on application‑level API usage, exploitation is more likely against software that frequently performs non‑blocking gzwrite operations and subsequently calls gzprintf or gzvprintf.
OpenCVE Enrichment