CVE-2026-116591
compress zstd: Panic on two-block frames
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.7
compress zstd: Panic on two-block frames
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.
- Record
CVE-2026-116591- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-190
- Updated
- 2026-11-02
EUVDEUVD-2026-110497
8.7
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.
- Record
EUVD-2026-110497- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-fpmh-frq8-7rj8
8.7
compress zstd: Panic on two-block frames
Summary
A crafted ~27 KB two-block zstd frame makes DecodeAll and the streaming decoder panic with an out-of-range slice index instead of returning a decode error. The same bytes decode fine with the reference zstd. Any program that decompresses untrusted zstd input can be crashed by it. Reproduced on v1.20.0 and v1.20.1.
Released in https://github.com/klauspost/compress/releases/tag/v1.20.2
Details
The panic is in the FSE decoder that huff0.ReadTable uses to read a block's Huffman-weight table. Three conditions have to hold at once, and the crafted frame arranges all three.
1. A count that doesn't fit is accepted. readNCount permits a tableLog up to 15 (tablelogAbsoluteMax, checked at fse/decompress.go:54), so a symbol's normalized count can reach 32768 (2^15). The count is stored in an int16 at fse/decompress.go:126, where 32768 wraps to −32768. The validation only looks at the int32 running totals (remaining and gotTotal), which still match, so the bad value passes. The crafted second block produces norm = [0, -32768], symbolLen = 2.
2. The decode table is built empty, with no error. In buildDtable, −32768 isn't the −1 that flags a low-probability symbol, so it skips that branch, and the spread loop for i := 0; i < int(v); i++ runs zero times for a negative v. position never advances, so the position != 0 guard passes as well.
3. Stale state from the previous block is reused. huff0 shares one fse.Scratch across both blocks, and allocDtable reuses decTable and ct.stateTable without clearing them. So the table is rebuilt on top of block 1's symbols and symbolNext values. Many cells end up with nbBits == 0, because the leftover nextState is ≥ 32768.
At decode time, every symbol's count is below largeLimit, so zeroBits stays false and decompress takes the nextFast path. On a cell with nbBits == 0, getBitsFast(0) shifts by (64-0)&63 == 0 and returns the low 16 bits of the whole register instead of 0. The state runs past the end of the table, and d.dt[d.state] panics:
panic: runtime error: index out of range [33077] with length 32768
Both blocks are needed. With a fresh Scratch, every cell would be symbol 0 with symbolNext 0, highBits(0) would underflow, newState would reach 32768, and the newState >= tableSize guard would return an error. Block 1's leftover state is what carries the malformed table past that guard.
The underlying bug is the int16 storage combined with a tableLog allowed to reach 15. The C reference uses short too, but caps the FSE tableLog at 12 and the Huffman-weight tableLog at 6, so the count never wraps. huff0.ReadTable doesn't enforce that 6-bit bound.
A fix: reject a count of 1<<15 (or nbBits > 14) in readNCount, and enforce the weight-table tableLog in huff0. Clearing the reused table would also turn the panic into an error.
Proof of concept
Run the following repro:
package compression
import (
"bytes"
"slices"
"testing"
"github.com/klauspost/compress/zstd"
"github.com/stretchr/testify/require"
)
func TestDecodeAll(t *testing.T) {
// zstdFSEPanic is a crafted two-block…
- Record
GHSA-fpmh-frq8-7rj8- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-190
- Updated
- 2026-11-02
NVD
8.7
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.
- Record
CVE-2026-116591- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/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 - Weakness
- CWE-190
- Updated
- 2026-11-02
OSVALPINE-CVE-2026-116591
8.7
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.
- Record
ALPINE-CVE-2026-116591- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/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 - Updated
- 2026-11-05
OSV
8.7
compress zstd: Panic on two-block frames
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.
- Record
CVE-2026-116591- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-190
- Updated
- 2026-11-07
Show 46 moreShow less
OSVDEBIAN-CVE-2026-116591
8.7
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.
- Record
DEBIAN-CVE-2026-116591- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/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 - Updated
- 2026-11-02
OSVGHSA-fpmh-frq8-7rj8
8.7
compress zstd: Panic on two-block frames
Summary
A crafted ~27 KB two-block zstd frame makes DecodeAll and the streaming decoder panic with an out-of-range slice index instead of returning a decode error. The same bytes decode fine with the reference zstd. Any program that decompresses untrusted zstd input can be crashed by it. Reproduced on v1.20.0 and v1.20.1.
Released in https://github.com/klauspost/compress/releases/tag/v1.20.2
Details
The panic is in the FSE decoder that huff0.ReadTable uses to read a block's Huffman-weight table. Three conditions have to hold at once, and the crafted frame arranges all three.
1. A count that doesn't fit is accepted. readNCount permits a tableLog up to 15 (tablelogAbsoluteMax, checked at fse/decompress.go:54), so a symbol's normalized count can reach 32768 (2^15). The count is stored in an int16 at fse/decompress.go:126, where 32768 wraps to −32768. The validation only looks at the int32 running totals (remaining and gotTotal), which still match, so the bad value passes. The crafted second block produces norm = [0, -32768], symbolLen = 2.
2. The decode table is built empty, with no error. In buildDtable, −32768 isn't the −1 that flags a low-probability symbol, so it skips that branch, and the spread loop for i := 0; i < int(v); i++ runs zero times for a negative v. position never advances, so the position != 0 guard passes as well.
3. Stale state from the previous block is reused. huff0 shares one fse.Scratch across both blocks, and allocDtable reuses decTable and ct.stateTable without clearing them. So the table is rebuilt on top of block 1's symbols and symbolNext values. Many cells end up with nbBits == 0, because the leftover nextState is ≥ 32768.
At decode time, every symbol's count is below largeLimit, so zeroBits stays false and decompress takes the nextFast path. On a cell with nbBits == 0, getBitsFast(0) shifts by (64-0)&63 == 0 and returns the low 16 bits of the whole register instead of 0. The state runs past the end of the table, and d.dt[d.state] panics:
panic: runtime error: index out of range [33077] with length 32768
Both blocks are needed. With a fresh Scratch, every cell would be symbol 0 with symbolNext 0, highBits(0) would underflow, newState would reach 32768, and the newState >= tableSize guard would return an error. Block 1's leftover state is what carries the malformed table past that guard.
The underlying bug is the int16 storage combined with a tableLog allowed to reach 15. The C reference uses short too, but caps the FSE tableLog at 12 and the Huffman-weight tableLog at 6, so the count never wraps. huff0.ReadTable doesn't enforce that 6-bit bound.
A fix: reject a count of 1<<15 (or nbBits > 14) in readNCount, and enforce the weight-table tableLog in huff0. Clearing the reused table would also turn the panic into an error.
Proof of concept
Run the following repro:
package compression
import (
"bytes"
"slices"
"testing"
"github.com/klauspost/compress/zstd"
"github.com/stretchr/testify/require"
)
func TestDecodeAll(t *testing.T) {
// zstdFSEPanic is a crafted two-block…
- Record
GHSA-fpmh-frq8-7rj8- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-190
- Updated
- 2026-11-06
OSVUBUNTU-CVE-2026-116591
8.7
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.
- Record
UBUNTU-CVE-2026-116591- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Updated
- 2026-11-02
OSVAZL-111664 No score
CVE-2026-116591 affecting package azl-otel-collector 0.127.0-1
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.
- Record
AZL-111664- Updated
- 2026-11-05
OSVAZL-111676 No score
CVE-2026-116591 affecting package buildah 1.43.1-3
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.
- Record
AZL-111676- Updated
- 2026-11-05
OSVAZL-111700 No score
CVE-2026-116591 affecting package cri-o 1.30.1-1
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.
- Record
AZL-111700- Updated
- 2026-11-05
OSVAZL-111709 No score
CVE-2026-116591 affecting package kata-containers-preview 3.27.0~preview2-2
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.
- Record
AZL-111709- Updated
- 2026-11-05
OSVAZL-111718 No score
CVE-2026-116591 affecting package podman 5.6.1-10
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.
- Record
AZL-111718- Updated
- 2026-11-05
OSVAZL-111754 No score
CVE-2026-116591 affecting package umoci 0.4.7-13
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.
- Record
AZL-111754- Updated
- 2026-11-05
OSVAZL-111817 No score
CVE-2026-116591 affecting package azurelinux-image-tools 1.7.0-2
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.
- Record
AZL-111817- Updated
- 2026-11-05
OSVAZL-111827 No score
CVE-2026-116591 affecting package cert-manager 1.12.15-15
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.
- Record
AZL-111827- Updated
- 2026-11-05
OSVAZL-111866 No score
CVE-2026-116591 affecting package containerd2 2.3.7-1
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.
- Record
AZL-111866- Updated
- 2026-11-05
OSVAZL-111881 No score
CVE-2026-116591 affecting package containerized-data-importer 1.62.0-9
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.
- Record
AZL-111881- Updated
- 2026-11-05
OSVAZL-111890 No score
CVE-2026-116591 affecting package coredns 1.11.4-23
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.
- Record
AZL-111890- Updated
- 2026-11-05
OSVAZL-111917 No score
CVE-2026-116591 affecting package docker-buildx 0.14.0-19
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.
- Record
AZL-111917- Updated
- 2026-11-05
OSVAZL-111926 No score
CVE-2026-116591 affecting package docker-cli 25.0.7-6
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.
- Record
AZL-111926- Updated
- 2026-11-05
OSVAZL-111941 No score
CVE-2026-116591 affecting package docker-compose 2.27.0-16
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.
- Record
AZL-111941- Updated
- 2026-11-05
OSVAZL-111953 No score
CVE-2026-116591 affecting package gh 2.102.0-2
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.
- Record
AZL-111953- Updated
- 2026-11-05
OSVAZL-111983 No score
CVE-2026-116591 affecting package influxdb 2.7.5-23
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.
- Record
AZL-111983- Updated
- 2026-11-05
OSVAZL-111992 No score
CVE-2026-116591 affecting package kata-containers 4.1.0.kata1-2
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.
- Record
AZL-111992- Updated
- 2026-11-05
OSVAZL-111995 No score
CVE-2026-116591 affecting package kata-containers-cc 3.15.0.aks0-23
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.
- Record
AZL-111995- Updated
- 2026-11-05
OSVAZL-112010 No score
CVE-2026-116591 affecting package keda 2.14.1-19
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.
- Record
AZL-112010- Updated
- 2026-11-02
OSVAZL-112025 No score
CVE-2026-116591 affecting package kubernetes 1.30.10-32
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.
- Record
AZL-112025- Updated
- 2026-11-05
OSVAZL-112052 No score
CVE-2026-116591 affecting package libcontainers-common 20240213-3
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.
- Record
AZL-112052- Updated
- 2026-11-05
OSVAZL-112067 No score
CVE-2026-116591 affecting package kubevirt-openvmm 1.9.0-1
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.
- Record
AZL-112067- Updated
- 2026-11-05
OSVAZL-112073 No score
CVE-2026-116591 affecting package moby-containerd-cc 1.7.7-19
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.
- Record
AZL-112073- Updated
- 2026-11-05
OSVAZL-112085 No score
CVE-2026-116591 affecting package moby-engine 25.0.18-1
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.
- Record
AZL-112085- Updated
- 2026-11-05
OSVAZL-112100 No score
CVE-2026-116591 affecting package opa 0.63.0-6
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.
- Record
AZL-112100- Updated
- 2026-11-05
OSVAZL-112109 No score
CVE-2026-116591 affecting package packer 1.9.5-23
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.
- Record
AZL-112109- Updated
- 2026-11-05
OSVAZL-112235 No score
CVE-2026-116591 affecting package skopeo 1.14.4-15
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.
- Record
AZL-112235- Updated
- 2026-11-05
OSVAZL-112247 No score
CVE-2026-116591 affecting package telegraf 1.31.0-36
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.
- Record
AZL-112247- Updated
- 2026-11-05
OSVAZL-112274 No score
CVE-2026-116591 affecting package vitess 19.0.4-16
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.
- Record
AZL-112274- Updated
- 2026-11-05
OSVGO-2026-6865 No score
Panic on two-block frames in github.com/klauspost/compress
Panic on two-block frames in github.com/klauspost/compress
- Record
GO-2026-6865- Updated
- 2026-11-06
OSVopenSUSE-SU-2026:12313-1 No score
aliyun-cli-3.5.2-2.1 on GA media
These are all security issues fixed in the aliyun-cli-3.5.2-2.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12313-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12317-1 No score
cadvisor-0.60.6-5.1 on GA media
These are all security issues fixed in the cadvisor-0.60.6-5.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12317-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12318-1 No score
distribution-registry-3.1.2-4.1 on GA media
These are all security issues fixed in the distribution-registry-3.1.2-4.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12318-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12323-1 No score
crane-0.22.1-3.1 on GA media
These are all security issues fixed in the crane-0.22.1-3.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12323-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12325-1 No score
hauler-2.1.2-3.1 on GA media
These are all security issues fixed in the hauler-2.1.2-3.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12325-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12326-1 No score
helm-4.3.1-3.1 on GA media
These are all security issues fixed in the helm-4.3.1-3.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12326-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12327-1 No score
helm3-3.22.1-2.1 on GA media
These are all security issues fixed in the helm3-3.22.1-2.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12327-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12340-1 No score
amazon-cloudwatch-agent-1.300073.2-3.1 on GA media
These are all security issues fixed in the amazon-cloudwatch-agent-1.300073.2-3.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12340-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12430-1 No score
google-osconfig-agent-20261103.02-1.1 on GA media
These are all security issues fixed in the google-osconfig-agent-20261103.02-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12430-1- Updated
- 2026-11-06
OSVopenSUSE-SU-2026:12479-1 No score
syft-1.56.0-1.1 on GA media
These are all security issues fixed in the syft-1.56.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12479-1- Updated
- 2026-11-07
OSVopenSUSE-SU-2026:22218-1 No score
Security update for cadvisor
This update for cadvisor fixes the following issues:
Changes in cadvisor:
- update vendor.tar to address:
-
bsc#1288588, CVE-2026-116591: github.com/klauspost/compress/zstd: crafted ~27 KB two-block zstd frame makes DecodeAll and the streaming decoder panic
-
bsc#1288212, CVE-2026-78663: golang.org/x/net/http2: double flow control refund on HTTP/2 server streams
-
- Record
openSUSE-SU-2026:22218-1- Updated
- 2026-11-04
OSVopenSUSE-SU-2026:22227-1 No score
Security update for go-containerregistry
This update for go-containerregistry fixes the following issues:
Changes in go-containerregistry:
-
update vendor.tar to address:
- bsc#1288488, CVE-2026-116591: github.com/klauspost/compress/zstd: crafted ~27 KB two-block zstd frame makes DecodeAll and the streaming decoder panic
-
update to 0.22.1:
- Reject non-canonical IP literals in all SSRF guards
- daemon: fix stale docker/docker reference in WithClient docs
- build(deps): bump the go-deps group across 2 directories with 4 updates
- authn: do not overwrite AuthConfig.Auth when username and password are empty
- build(deps): bump the actions group across 1 directory with 8 updates
- Support pulling images by sha512 digest
- Allow empty label and annotation values in crane mutate
- fix(build): Use dependencies.gitSource in cloudbuild_v2.yaml
- validate: support index attestation manifests and empty configs
- name: improve error when parsing a reference with a URL scheme
- fix(build): install binaries to /ko-app and add to PATH
- fix(release): honor declared Go toolchain
- remote: apply checkRedirectSSRF to writer-side HTTP clients
- flatten: preserve config and layer media types when flattening
- fix(mutate): make Time layer updates lazy
- build(deps): bump the go-deps group across 2 directories with 3 updates
- remote: copy manifest annotations to referrers fallback tag descriptors
-
update to 0.22.0:
- mutate: let Time and Canonical take tarball.LayerOption
- build: add multi-architecture Cloud Build configurations for crane, gcrane, and krane
- remote: resolve push-check credentials against the repository
- Allow single-character repository paths
- fix: add missing substitutions and workspace cleanup to new build files
- remote: retry failed Puller and Pusher initialization
- build(deps): bump the actions group across 1 directory with 8 updates
- build(deps): bump the go-deps group across 1 directory with 3 updates
- go.mod: bump Go version + add toolchain directive to replace .go-version file
- fix: Fix new build options and provenance
- fix(build): unify new build flow into cloudbuild_v2.yaml
-
update to 0.21.8 (bsc#1283692, CVE-2026-63209):
- The artifacts attached to this release are missing SLSA provenance, see #2390.
- build(deps): bump the go-deps group across 1 directory with 3 updates
- build(deps): bump golang.org/x/crypto from 0.45.0 to 0.52.0 in /cmd/krane
- build(deps): bump golang.org/x/crypto from 0.50.0 to 0.52.0 in /pkg/authn/k8schain
- build(deps): bump golang.org/x/net from 0.49.0 to 0.55.0 in /pkg/authn/kubernetes
- build(deps): bump the go-deps group across 3 directories with 7 updates
- build(deps): bump the actions group across 1 directory with 5 updates
- Reject unsafe Windows archive paths in Extract
- feat(goreleaser): add loong64 build support for crane/gcrane/krane
- Document tag and digest reference semantics
- remote: release pull limiter slot when body is read to EOF
- tarball: bounds-check layer index in uncompressed LayerByDiffID
- authn: read Podman auth from XDG config
- transport: per-host bearer token exchange on cross-host redirect
- mutate: bounds-check layer index when building rebase addendums
- fix(daemon): copy ExposedPorts from source config in computeImageConfig
- feat(remote): add WithReferrersTagFallback option
- mutate: apply opaque-directory whiteouts (.wh..wh..opq) in Extract
- tarball: use correct file extension for zstd/uncompressed
- build(deps): bump github.com/moby/moby/client from 0.5.0 to 0.5.1 in the go-deps group across 1 directory
- actions: update actions to be pinned by hash
- Bump go version to 1.26.5
-
update to 0.21.7:
- tarball: return error instead of panicking on missing rootfs.diff_ids
- gcrane: honor --platform flag in copy
- mutate: verify layer digests in Extract and…
- Record
openSUSE-SU-2026:22227-1- Updated
- 2026-11-04
OSVopenSUSE-SU-2026:22228-1 No score
Security update for hauler
This update for hauler fixes the following issues:
Changes in hauler:
- update vendor.tar to address:
- bsc#1288460, CVE-2026-116591, github.com/klauspost/compress/zstd: crafted ~27 KB two-block zstd frame makes DecodeAll and the streaming decoder panic
- Record
openSUSE-SU-2026:22228-1- Updated
- 2026-11-04
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
github.com/klauspost/compress/zstdGo |
through 1.20.1 | 1.20.2 |
dockerAlpine:v3.24 |
before 29.9.3-r0 | 29.9.3-r0 |
azl-otel-collectorAzure Linux:3 |
through 0.127.0-1 | None known |
buildahAzure Linux:3 |
through 1.43.1-3 | None known |
cri-oAzure Linux:3 |
through 1.30.1-1 | None known |
kata-containers-previewAzure Linux:3 |
through 3.27.0~preview2-2 | None known |
podmanAzure Linux:3 |
through 5.6.1-10 | None known |
umociAzure Linux:3 |
through 0.4.7-13 | None known |
azurelinux-image-toolsAzure Linux:3 |
through 1.7.0-2 | None known |
cert-managerAzure Linux:3 |
through 1.12.15-15 | None known |
Show 46 moreShow less
| Package | Affected | Fixed |
|---|---|---|
containerd2Azure Linux:3 |
through 2.3.7-1 | None known |
containerized-data-importerAzure Linux:3 |
through 1.62.0-9 | None known |
corednsAzure Linux:3 |
through 1.11.4-23 | None known |
docker-buildxAzure Linux:3 |
through 0.14.0-19 | None known |
docker-cliAzure Linux:3 |
through 25.0.7-6 | None known |
docker-composeAzure Linux:3 |
through 2.27.0-16 | None known |
ghAzure Linux:3 |
through 2.102.0-2 | None known |
influxdbAzure Linux:3 |
through 2.7.5-23 | None known |
kata-containersAzure Linux:3 |
through 4.1.0.kata1-2 | None known |
kata-containers-ccAzure Linux:3 |
through 3.15.0.aks0-23 | None known |
kedaAzure Linux:3 |
through 2.14.1-19 | None known |
kubernetesAzure Linux:3 |
through 1.30.10-32 | None known |
libcontainers-commonAzure Linux:3 |
through 20240213-3 | None known |
kubevirt-openvmmAzure Linux:3 |
through 1.9.0-1 | None known |
moby-containerd-ccAzure Linux:3 |
through 1.7.7-19 | None known |
moby-engineAzure Linux:3 |
through 25.0.18-1 | None known |
opaAzure Linux:3 |
through 0.63.0-6 | None known |
packerAzure Linux:3 |
through 1.9.5-23 | None known |
skopeoAzure Linux:3 |
through 1.14.4-15 | None known |
telegrafAzure Linux:3 |
through 1.31.0-36 | None known |
vitessAzure Linux:3 |
through 19.0.4-16 | None known |
golang-github-klauspost-compressDebian:12 |
All versions, plus listed versions 1.15.12+ds1-31.17.0+ds1-11.17.0+ds1-1~exp11.17.10+ds1-11.17.11+ds1-1 Show 12 moreShow less1.17.2+ds1-11.17.7+ds1-11.17.9+ds1-11.17.9+ds1-1~bpo12+11.18.0+ds1-11.18.1+ds1-11.18.6+ds1-11.18.6+ds1-21.19.0+ds1-11.19.0+ds1-21.20.0+ds1-11.20.3+ds1-1 |
None known |
golang-github-klauspost-compressDebian:13 |
All versions, plus listed versions 1.18.0+ds1-11.18.1+ds1-11.18.6+ds1-11.18.6+ds1-21.19.0+ds1-11.19.0+ds1-21.20.0+ds1-11.20.3+ds1-1 |
None known |
golang-github-klauspost-compressDebian:14 |
before 1.20.3+ds1-1, plus listed versions 1.18.0+ds1-11.18.1+ds1-11.18.6+ds1-11.18.6+ds1-21.19.0+ds1-11.19.0+ds1-21.20.0+ds1-1 |
1.20.3+ds1-1 |
github.com/klauspost/compress/zstdGo |
before 1.20.2 | 1.20.2 |
github.com/klauspost/compressGo |
before 1.20.2 | 1.20.2 |
golang-github-klauspost-compressUbuntu:16.04:LTS |
All versions, plus listed versions 0.0~git20151221.0.2dd54ae-1 |
None known |
golang-github-klauspost-compressUbuntu:18.04:LTS |
All versions, plus listed versions 1.2.1-11.2.1-21.2.1-41.2.1-5 |
None known |
golang-github-klauspost-compressUbuntu:20.04:LTS |
All versions, plus listed versions 1.2.1-51.7.6-21.9.5-11.9.5-2 |
None known |
golang-github-klauspost-compressUbuntu:22.04:LTS |
All versions, plus listed versions 1.11.7-2 |
None known |
golang-github-klauspost-compressUbuntu:24.04:LTS |
All versions, plus listed versions 1.15.12+ds1-31.17.7+ds1-1 |
None known |
golang-github-klauspost-compressUbuntu:26.10 |
All versions, plus listed versions 1.18.1+ds1-11.19.0+ds1-11.20.0+ds1-1 |
None known |
golang-github-klauspost-compressUbuntu:26.04:LTS |
All versions, plus listed versions 1.18.0+ds1-11.18.1+ds1-1 |
None known |
aliyun-cliopenSUSE:Tumbleweed |
before 3.5.2-2.1 | 3.5.2-2.1 |
cadvisoropenSUSE:Tumbleweed From an advisory covering 2 CVEs |
before 0.60.6-5.1 | 0.60.6-5.1 |
distributionopenSUSE:Tumbleweed |
before 3.1.2-4.1 | 3.1.2-4.1 |
go-containerregistryopenSUSE:Tumbleweed |
before 0.22.1-3.1 | 0.22.1-3.1 |
hauleropenSUSE:Tumbleweed |
before 2.1.2-3.1 | 2.1.2-3.1 |
helmopenSUSE:Tumbleweed From an advisory covering 5 CVEs |
before 4.3.1-3.1 | 4.3.1-3.1 |
helm3openSUSE:Tumbleweed |
before 3.22.1-2.1 | 3.22.1-2.1 |
amazon-cloudwatch-agentopenSUSE:Tumbleweed |
before 1.300073.2-3.1 | 1.300073.2-3.1 |
google-osconfig-agentopenSUSE:Tumbleweed From an advisory covering 4 CVEs |
before 20261103.02-1.1 | 20261103.02-1.1 |
syftopenSUSE:Tumbleweed From an advisory covering 2 CVEs |
before 1.56.0-1.1 | 1.56.0-1.1 |
cadvisoropenSUSE:Leap 16.0 From an advisory covering 2 CVEs |
before 0.60.6-bp160.4.1 | 0.60.6-bp160.4.1 |
go-containerregistryopenSUSE:Leap 16.0 From an advisory covering 3 CVEs |
before 0.22.1-bp160.1.1 | 0.22.1-bp160.1.1 |
hauleropenSUSE:Leap 16.0 |
before 2.1.2-bp160.2.1 | 2.1.2-bp160.2.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, aliases, references | OSV | |
| affected, aliases, references | OSV | |
| affected | ||
| affected, aliases | OSV | |
| affected, aliases, references | OSV | |
| affected | OSV | |
| affected, aliases, references | OSV | |
| affected, aliases, facts, references | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-116591 is a high vulnerability (CVSS 8.7) in Klauspost Compress, published October 26, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.33%, the 26th percentile. Fixed in github.com/klauspost/compress/zstd 1.20.2.
References
github.com/klauspost/compress/security/advisories/GHSA-fpmh-frq8-7rj8
github.com/klauspost/compress/commit/7f5d8528720c895a6106f201719f87eb030a565d
github.com/klauspost/compress/releases/tag/v1.20.2
nvd.nist.gov/vuln/detail/CVE-2026-116591
github.com/advisories/GHSA-fpmh-frq8-7rj8
security.alpinelinux.org/vuln/CVE-2026-116591
Show 22 moreShow less
github.com/CVEProject/cvelistV5/tree/main/cves/2026/116xxx/CVE-2026-116591.json
security-tracker.debian.org/tracker/CVE-2026-116591
github.com/klauspost/compress
ubuntu.com/security/CVE-2026-116591
cve.org/CVERecord?id=CVE-2026-116591
suse.com/security/cve/CVE-2026-116591
suse.com/security/cve/CVE-2026-78663
suse.com/security/cve/CVE-2026-78659
suse.com/security/cve/CVE-2026-78660
suse.com/security/cve/CVE-2026-97032
suse.com/security/cve/CVE-2026-109425
suse.com/security/cve/CVE-2026-78661
suse.com/security/cve/CVE-2026-97045
suse.com/security/cve/CVE-2026-116585
bugzilla.suse.com/1288212
bugzilla.suse.com/1288588
bugzilla.suse.com/1239277
bugzilla.suse.com/1283692
bugzilla.suse.com/1288488
suse.com/security/cve/CVE-2025-22868
suse.com/security/cve/CVE-2026-63209
bugzilla.suse.com/1288460
Left out here: the rest of 3 source descriptions. The JSON record has them.