{"id":"CVE-2026-90560","state":"PUBLISHED","title":"zstd-jni 1.2.0 through 1.5.7-13 Out-of-Bounds Read via ZstdDictDecompress","description":"zstd-jni versions 1.2.0 through 1.5.7-13 contain an out-of-bounds read vulnerability in the ZstdDictDecompress constructor because offset and length arguments are never validated against the dictionary array bounds. Attackers can supply arbitrary offset or length values to read memory past the end of the supplied array, potentially causing JVM termination.","publishedAt":"2026-09-12T18:06:43.794Z","updatedAt":"2026-09-14T15:58:38.877Z","severity":{"score":8.8,"label":"High","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N","source":"VulnCheck"},"assigner":"VulnCheck","products":["luben zstd-jni"],"affected":[{"vendor":"luben","product":"zstd-jni","packageURL":"pkg:maven/com.github.luben/zstd-jni","defaultStatus":"unaffected","versions":[{"version":"1.2.0","status":"affected","lessThan":"1.5.7-14","versionType":"custom"}],"collectionURL":"https://repo1.maven.org/maven2/com/github/luben/zstd-jni/","repo":"https://github.com/luben/zstd-jni"}],"references":["https://github.com/luben/zstd-jni/issues/405","https://github.com/luben/zstd-jni","https://github.com/luben/zstd-jni/commit/b74ab242d640c40897e62aab4c744ddfad1f915f","https://github.com/luben/zstd-jni/blob/v1.5.7-13/src/main/java/com/github/luben/zstd/ZstdDictDecompress.java#L49","https://github.com/luben/zstd-jni/releases/tag/v1.5.7-14","https://github.com/luben/zstd-jni/blob/v1.2.0/src/main/java/com/github/luben/zstd/ZstdDictDecompress.java#L37","https://www.vulncheck.com/advisories/zstd-jni-1.2.0-through-1.5.7-13-out-of-bounds-read-via-zstddictdecompress"],"weaknesses":["CWE-125"],"ingestedAt":"2026-10-29T20:13:34.582Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/90xxx/CVE-2026-90560.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-90560","state":"PUBLISHED","datePublished":"2026-09-12T18:06:43.794Z","dateUpdated":"2026-09-14T15:58:38.877Z","assignerShortName":"VulnCheck","assignerOrgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateReserved":"2026-09-12T11:13:43.327Z"},"containers":{"cna":{"title":"zstd-jni 1.2.0 through 1.5.7-13 Out-of-Bounds Read via ZstdDictDecompress","descriptions":[{"lang":"en","value":"zstd-jni versions 1.2.0 through 1.5.7-13 contain an out-of-bounds read vulnerability in the ZstdDictDecompress constructor because offset and length arguments are never validated against the dictionary array bounds. Attackers can supply arbitrary offset or length values to read memory past the end of the supplied array, potentially causing JVM termination."}],"affected":[{"vendor":"luben","product":"zstd-jni","packageURL":"pkg:maven/com.github.luben/zstd-jni","defaultStatus":"unaffected","versions":[{"version":"1.2.0","status":"affected","lessThan":"1.5.7-14","versionType":"custom"}],"collectionURL":"https://repo1.maven.org/maven2/com/github/luben/zstd-jni/","repo":"https://github.com/luben/zstd-jni"}],"references":[{"url":"https://github.com/luben/zstd-jni/issues/405","tags":["issue-tracking"],"name":"GitHub Issue #405"},{"url":"https://github.com/luben/zstd-jni","tags":["product"]},{"url":"https://github.com/luben/zstd-jni/commit/b74ab242d640c40897e62aab4c744ddfad1f915f","tags":["patch"]},{"url":"https://github.com/luben/zstd-jni/blob/v1.5.7-13/src/main/java/com/github/luben/zstd/ZstdDictDecompress.java#L49","tags":["technical-description"]},{"url":"https://github.com/luben/zstd-jni/releases/tag/v1.5.7-14","tags":["release-notes"],"name":"zstd-jni v1.5.7-14 Release Notes"},{"url":"https://github.com/luben/zstd-jni/blob/v1.2.0/src/main/java/com/github/luben/zstd/ZstdDictDecompress.java#L37","tags":["technical-description"]},{"url":"https://www.vulncheck.com/advisories/zstd-jni-1.2.0-through-1.5.7-13-out-of-bounds-read-via-zstddictdecompress","name":"VulnCheck Advisory: zstd-jni 1.2.0 through 1.5.7-13 Out-of-Bounds Read via ZstdDictDecompress","tags":["third-party-advisory"]}],"metrics":[{"format":"CVSS","cvssV4_0":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"LOW","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"HIGH","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":8.8,"baseSeverity":"HIGH"}},{"format":"CVSS","cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"NONE","availabilityImpact":"HIGH","baseScore":8.2,"baseSeverity":"HIGH"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-125","lang":"en","description":"Out-of-bounds Read","type":"CWE"}]}],"providerMetadata":{"shortName":"VulnCheck","orgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateUpdated":"2026-09-12T18:06:43.794Z"},"datePublic":"2026-08-13T00:00:00.000Z","credits":[{"lang":"en","value":"Yu Bao, PayPal Cyber Security Team","type":"finder"}],"x_generator":{"engine":"vulncheck-endgame"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/luben/zstd-jni/issues/405","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-09-14T15:57:31.022495Z","id":"CVE-2026-90560","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-09-14T15:58:38.877Z"}}]}}}