CVE-2026-116591
github.com/klauspost/compress/zstd: klauspost/compress: Denial of Service via crafted zstd compressed input
Severity
ImportantRed Hat Product Security
CVSS 3.1
Review impact separately from score.
Published · October 27, 2026
Updated · November 4, 2026
Description
A flaw was found in the klauspost compress library. A remote attacker can exploit this vulnerability by submitting a specially crafted Zstandard (zstd) compressed stream to an application using the library, resulting in a Denial of Service (DoS). Due to an integer handling error in the decompression logic, the decoder retains stale internal state and performs an out-of-bounds read, triggering an unhandled panic that crashes the application.
Statement
A flaw was found in the klauspost compress library's Zstandard (zstd) decompression implementation. An integer handling flaw in the FSE normalized count parsing logic allows a remote attacker to supply a specially crafted two-block compressed stream. When processed by vulnerable decode routines, the parser retains stale decode-table state and executes an out-of-bounds read, triggering an unhandled runtime panic. Applications decompressing untrusted inputs will terminate abruptly, causing a denial of service, while container boundaries and non-root execution isolate the impact from the underlying host.
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
Reject or filter untrusted Zstandard-compressed payloads at ingress proxies, or restrict decompression endpoints to authenticated, trusted clients. No direct configuration-level workaround exists within the library itself.
--- CME Mitigation Guidance (2026-11-03) --- Disclaimer: The following mitigation solutions are provided as a courtesy, pending the application of an official patch. This content was generated utilizing AI tools in conjunction with data from https://cmetaxonomy.org. Customers are advised to independently evaluate and test these temporary mitigations within their own infrastructure.
The highest-value action is to enforce bounds on parsed count values and decode-table indices in klauspost/compress zstd decompression routines to prevent integer wraparound and out-of-bounds indexing: upgrade to klauspost/compress 1.20.2+ (or the corresponding fixed Red Hat builds), which reject counts exceeding math.MaxInt16 in readNCount, restrict Huffman-weight FSE tableLog values to 6 in huff0.ReadTable, and adjust count validation in validateNorm, closing crafted two-block zstd compressed stream. Until patched, this is a concern on applications decompressing untrusted Zstandard (zstd) input using klauspost/compress DecodeAll or streaming decoder, so reject or filter untrusted Zstandard-compressed payloads at ingress proxies, or restrict decompression endpoints to authenticated, trusted clients. These controls limit blast radius and contain exploitation, but they do not fix the underlying integer wraparound defect — apply the upstream patch to fully remediate.
Highest-impact CME: CME-1311 Input Size and Quantity Bounds Enforcement (high)
CVSS / CWE
CVSS 3.1 · 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CWE-125 · Out-of-bounds Read