ZeroHour

CVE-2026-85091

mass

Heap buffer overflow in zlib 1.3.1.2–1.3.2 via non-blocking gzwrite/gzprintf

CVSS 4.0
8.3 high
EPSS
<1%p37
Published
()
Modified
AI analysis

zlib versions 1.3.1.2 through 1.3.2 contain a heap buffer overflow (CWE-787, out-of-bounds write) in the gz_vacate() function, which mishandles a stale pointer to an external buffer during non-blocking gzwrite() operations. An attacker triggers the flaw by calling gzprintf() or gzvprintf() on a gzip stream after a write has stalled, causing an unchecked memmove() to write beyond the end of the internal input buffer. The resulting heap corruption yields high integrity and availability impact per the CVSS 4.0 score of 8.3 (High), meaning crashes or controlled memory corruption are possible, though with a network vector and high attack complexity and no confidentiality impact. Anyone shipping or running the affected zlib versions whose code uses the gz* file API in non-blocking mode is affected, while applications that only call deflate()/inflate() are not exposed. There is no public PoC, no CISA KEV listing, and no known exploitation; EPSS estimates a 0.4% probability of exploitation within 30 days.

What to do: Inventory systems for zlib 1.3.1.2/1.3.2 using SBOMs or package listings and prioritize any application code that uses gzopen()/gzwrite()/gzprintf() in non-blocking mode. Upgrade to a zlib release newer than 1.3.2 as soon as your distribution or vendor ships the fixed package, or avoid/restrict the non-blocking gz* code path until patched. Monitor distro security advisories, since most users will receive the fix as a packaged zlib update rather than a direct library rebuild.

Affected
zlib (zlib project) zlib1.3.1.2 through 1.3.2 (inclusive)
Estimated exposure
mass>1,000,000 systems bundle the affected zlib releases (zlib ships in virtually every OS, distro, and language runtime) — zlib is among the most widely deployed libraries in existence, bundled by every major Linux distribution, many operating systems, runtimes, and appliances, and the recent 1.3.1.x/1.3.2 maintenance releases are being picked up across…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

zlib versions 1.3.1.2 through 1.3.2 contain a heap buffer overflow vulnerability in the gz_vacate() function when processing non-blocking gzwrite() operations with stale external buffer pointers. Attackers can trigger the overflow by calling gzprintf() or gzvprintf() after a write stall, causing an unchecked memmove() to write beyond the internal input buffer boundary.

Weakness
CWE-787
Vector
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.