{"id":"CVE-2026-116591","summary":"compress zstd: Panic on two-block frames","details":"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.","aliases":["GHSA-fpmh-frq8-7rj8","GO-2026-6865"],"modified":"2026-11-12T17:28:18.655850459Z","published":"2026-10-26T21:54:33.109Z","related":["SUSE-SU-2026:24652-1","SUSE-SU-2026:5195-1","openSUSE-SU-2026:12313-1","openSUSE-SU-2026:12317-1","openSUSE-SU-2026:12318-1","openSUSE-SU-2026:12323-1","openSUSE-SU-2026:12325-1","openSUSE-SU-2026:12326-1","openSUSE-SU-2026:12327-1","openSUSE-SU-2026:12340-1","openSUSE-SU-2026:12430-1","openSUSE-SU-2026:12479-1","openSUSE-SU-2026:12530-1","openSUSE-SU-2026:22218-1","openSUSE-SU-2026:22227-1","openSUSE-SU-2026:22228-1","openSUSE-SU-2026:22241-1"],"database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-190"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/116xxx/CVE-2026-116591.json"},"references":[{"type":"WEB","url":"https://github.com/klauspost/compress/releases/tag/v1.20.2"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/116xxx/CVE-2026-116591.json"},{"type":"ADVISORY","url":"https://github.com/klauspost/compress/security/advisories/GHSA-fpmh-frq8-7rj8"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116591"},{"type":"FIX","url":"https://github.com/klauspost/compress/commit/7f5d8528720c895a6106f201719f87eb030a565d"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/klauspost/compress","events":[{"introduced":"0"},{"fixed":"7f5d8528720c895a6106f201719f87eb030a565d"}],"database_specific":{"extracted_events":[{"range":[{"introduced":"0"},{"fixed":"1.20.2"}],"source":"AFFECTED_FIELD","strategy":"StringRangeExpression"},{"range":[{"fixed":"7f5d8528720c895a6106f201719f87eb030a565d"}],"source":"REFERENCES_COMMIT"},{"original_tag":"v1.20.2","range":[{"fixed":"7f5d8528720c895a6106f201719f87eb030a565d"}],"source":"REFERENCES_TAG"},{"source":"DESCRIPTION","range":[{"introduced":"0"},{"fixed":"1.20.2"}]}]}}],"versions":["v1.20.1","v1.20.0","v1.19.2","v1.19.1","v1.19.0","v1.18.6","v1.18.5","v1.18.4","v1.18.2","v1.18.1","v1.18.0","v1.17.11","v1.17.10","v1.17.9","v1.17.8","v1.17.7","v1.17.6","v1.17.5","v1.17.4","v1.17.3","v1.17.2","v1.17.1","v1.17.0","v1.16.7","v1.16.6","v1.16.5","v1.16.4","v1.16.3","v1.16.2","v1.16.1","v1.16.0","v1.15.15","v1.15.14","v1.15.13","v1.15.12","v1.15.11","v1.15.10","v1.15.9","v1.15.8","v1.15.7","v1.15.6","v1.15.5","v1.15.4","v1.15.3","v1.15.2","v1.15.1","v1.15.0","v1.14.4","v1.14.3","v1.14.2","v1.14.1","v1.14.0","v1.13.6","v1.13.5","v1.13.4","v1.13.3","v1.13.2","v1.13.1","v1.13.0","v1.12.3","v1.12.2","v1.12.1","v1.11.13","v1.11.12","v1.11.11","v1.11.10","v1.11.9","v1.11.8","v1.11.7","v1.11.6","v1.11.5","v1.11.4","v1.11.3","v1.11.2","v1.11.1","v1.11.0","v1.10.11","v1.10.10","v1.10.9","v1.10.8","v1.10.7","v1.10.6","v1.10.5","v1.10.4","v1.10.3","v1.10.2","v1.10.1","v1.10.0","v1.9.8","v1.9.7","v1.9.6","v1.9.5","v1.9.4","v1.9.3","v1.9.2","v1.9.1","v1.9.0","v1.8.6","v1.8.5","v1.8.4","v1.8.3","v1.8.2","v1.8.1","v1.8.0","v1.7.6","v1.7.5","v1.7.4","v1.7.3","v1.7.2","v1.7.1","v1.7.0","v1.6.2","v1.6.1","v1.6.0","v1.5.0","v1.4.1","v1.4.0","v1.3.0","v1.2.1","v1.2","v1.1","v1.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-116591.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V4","score":"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"}]}