[ CVE-2026-116591 · Published 26 Oct 2026 ]

compress zstd: Panic on two-block frames

CVSS 8.7 EPSS <1%Fix available

[ Description ]Official description

compress provides various compression algorithms. Prior to 1.20.2, the zstd DecodeAll and streaming decoder paths can panic when a crafted two-block frame reaches huff0.ReadTable with an FSE normalized count of 32768 that readNCount stores in int16 as -32768. The wrapped count allows buildDtable to retain stale fse.Scratch decode-table state from the prior block, and nextFast then derives an out-of-range state and indexes beyond the table instead of returning a decode error. Both blocks are required to preserve and then reuse the stale state, allowing untrusted zstd input to crash an application. This issue is fixed in version 1.20.2.

[ Fixes ]Fixes and patches

[ Packages ]Affected open-source packages

  • github.com/klauspost/compress/zstd goAffected <= 1.20.1 · fixed in 1.20.2 · GHSA-fpmh-frq8-7rj8