{"id":"CVE-2026-87823","aliases":["DEBIAN-CVE-2026-87823","EUVD-2026-75021","GHSA-cm3p-487m-cmvq","GHSA-jfr6-9xqw-2g2q","SUSE-SU-2026:23858-1","SUSE-SU-2026:23868-1","UBUNTU-CVE-2026-87823","openSUSE-SU-2026:11769-1","openSUSE-SU-2026:21902-1"],"status":"published","title":"zstd-jni 1.1.1 through 1.5.7-13 Out-of-Bounds Read via Direct ByteBuffer Frame-Size Methods","description":"zstd-jni before 1.5.7-14 performs 32-bit signed bounds checks on three direct-ByteBuffer frame-size native methods, allowing out-of-bounds memory reads via negative or overflowing offsets. Attackers can supply negative offset values near Integer.MIN_VALUE to read unmapped memory, causing JVM termination or extracting arbitrary frame size data from unintended memory locations.","severity":{"version":"4.0","score":8.8,"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","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00432,"percentile":0.37992,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-190"],"published":"2026-09-09T14:32:43Z","modified":"2026-10-28T11:19:06Z","fixes":[{"ecosystem":"Debian:14","package":"zstd-jni-java","fixed_in":["1.5.7-23+ds-1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"zstd-jni-java","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.5.2-5+ds-3","1.5.2-5+ds-4","1.5.2-5+ds-5","1.5.2-5+ds-6","1.5.2-5+ds-7","1.5.2-5+ds-8","1.5.4-2+ds-1","1.5.4-2+ds-2","1.5.4-2+ds-3~exp1","1.5.4-2+ds-3~exp2","1.5.4-2+ds-3~exp3","1.5.4-2+ds-3~exp4","1.5.7-23+ds-1","1.5.7-23+ds-2"]},{"source":"osv","ecosystem":"Debian:13","package":"zstd-jni-java","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.5.2-5+ds-7","1.5.2-5+ds-8","1.5.4-2+ds-1","1.5.4-2+ds-2","1.5.4-2+ds-3~exp1","1.5.4-2+ds-3~exp2","1.5.4-2+ds-3~exp3","1.5.4-2+ds-3~exp4","1.5.7-23+ds-1","1.5.7-23+ds-2"]},{"source":"osv","ecosystem":"Debian:14","package":"zstd-jni-java","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.7-23+ds-1"}]}],"versions":["1.5.2-5+ds-7","1.5.2-5+ds-8","1.5.4-2+ds-1","1.5.4-2+ds-2","1.5.4-2+ds-3~exp1","1.5.4-2+ds-3~exp2","1.5.4-2+ds-3~exp3","1.5.4-2+ds-3~exp4"]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 16.0","package":"zstd-jni","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.7.16-160000.1.1"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP applications 16.0","package":"zstd-jni","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.7.16-160000.1.1"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 16.0","package":"zstd-jni","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.7.16-160000.1.1"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP applications 16.0","package":"zstd-jni","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.7.16-160000.1.1"}]}],"bundled":4},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"zstd-jni-java","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.5.2-5+ds-3","1.5.2-5+ds-3build1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"zstd-jni-java","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.5.2-5+ds-8"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"zstd-jni-java","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.5.2-5+ds-7","1.5.2-5+ds-7build1","1.5.2-5+ds-7ubuntu1","1.5.2-5+ds-8"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"zstd-jni","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.7.16-1.1"}]}],"bundled":2},{"source":"osv","ecosystem":"openSUSE:Leap 16.0","package":"zstd-jni","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.7.16-160000.1.1"}]}],"bundled":4}],"products":[{"vendor":"luben","product":"zstd-jni"}],"references":[{"url":"https://github.com/luben/zstd-jni/security/advisories/GHSA-jfr6-9xqw-2g2q","tags":["vendor-advisory","exploit","advisory","report"]},{"url":"https://github.com/luben/zstd-jni/commit/d7a1c99322d5e1fc71932e722c0b5bb2fc525d3f","tags":["patch","fix"]},{"url":"https://github.com/luben/zstd-jni/blob/v1.5.7-13/src/main/native/jni_zstd.c","tags":["technical-description","article"]},{"url":"https://github.com/luben/zstd-jni/blob/v1.5.7-13/src/main/java/com/github/luben/zstd/Zstd.java","tags":["technical-description","article"]},{"url":"https://github.com/luben/zstd-jni/releases/tag/v1.5.7-14","tags":["release-notes","advisory"]},{"url":"https://github.com/luben/zstd-jni/commit/46dcb2a54c8b8f2ce2cad7187a7513f509c533ac","tags":["technical-description","patch","fix"]},{"url":"https://github.com/luben/zstd-jni","tags":["product","package"]},{"url":"https://www.vulncheck.com/advisories/zstd-jni-1.1.1-through-1.5.7-13-out-of-bounds-read-via-direct-bytebuffer-frame-size-methods","tags":["third-party-advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-87823","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-cm3p-487m-cmvq"},{"url":"https://repo1.maven.org/maven2/com/github/luben/zstd-jni/","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/87xxx/CVE-2026-87823.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-87823","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-202623858-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1279953","tags":["report"]},{"url":"https://bugzilla.suse.com/1279954","tags":["report"]},{"url":"https://bugzilla.suse.com/1279955","tags":["report"]},{"url":"https://bugzilla.suse.com/1279956","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2026-87823","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-87824","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-87825","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-87877","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-202623868-1/","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-87823","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-87823","tags":["report"]},{"url":"","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-87823","title":"zstd-jni 1.1.1 through 1.5.7-13 Out-of-Bounds Read via Direct ByteBuffer Frame-Size Methods","description":"zstd-jni before 1.5.7-14 performs 32-bit signed bounds checks on three direct-ByteBuffer frame-size native methods, allowing out-of-bounds memory reads via negative or overflowing offsets. Attackers can supply negative offset values near Integer.MIN_VALUE to read unmapped memory, causing JVM termination or extracting arbitrary frame size data from unintended memory locations.","status":"published","published":"2026-09-09T14:32:43.442Z","modified":"2026-09-09T16:13:14.42Z","cvss":[{"version":"4.0","score":8.8,"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","level":"high","assessor":"cna"},{"version":"3.1","score":8.2,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-190"],"updated_at":"2026-11-02T13:37:47.463822Z"}],"euvd":[{"id":"EUVD-2026-75021","description":"zstd-jni before 1.5.7-14 performs 32-bit signed bounds checks on three direct-ByteBuffer frame-size native methods, allowing out-of-bounds memory reads via negative or overflowing offsets. Attackers can supply negative offset values near Integer.MIN_VALUE to read unmapped memory, causing JVM termination or extracting arbitrary frame size data from unintended memory locations.","status":"published","published":"2026-09-09T14:32:43Z","modified":"2026-09-09T16:13:14Z","cvss":[{"version":"4.0","score":8.8,"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","level":"high"}],"updated_at":"2026-11-02T17:28:26.437971Z"}],"ghsa":[{"id":"GHSA-cm3p-487m-cmvq","title":"zstd-jni before 1.5.7-14 performs 32-bit signed bounds checks on three direct-ByteBuffer frame...","description":"zstd-jni before 1.5.7-14 performs 32-bit signed bounds checks on three direct-ByteBuffer frame-size native methods, allowing out-of-bounds memory reads via negative or overflowing offsets. Attackers can supply negative offset values near Integer.MIN_VALUE to read unmapped memory, causing JVM termination or extracting arbitrary frame size data from unintended memory locations.","status":"published","published":"2026-09-09T15:35:16Z","modified":"2026-09-09T15:35:24Z","cvss":[{"version":"4.0","score":8.8,"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/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","level":"high"},{"version":"3.1","score":8.2,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H","level":"high"}],"cwes":["CWE-190"],"updated_at":"2026-11-02T15:11:39.437162Z"}],"nvd":[{"id":"CVE-2026-87823","description":"zstd-jni before 1.5.7-14 performs 32-bit signed bounds checks on three direct-ByteBuffer frame-size native methods, allowing out-of-bounds memory reads via negative or overflowing offsets. Attackers can supply negative offset values near Integer.MIN_VALUE to read unmapped memory, causing JVM termination or extracting arbitrary frame size data from unintended memory locations.","status":"published","published":"2026-09-09T15:17:27.583Z","modified":"2026-09-09T20:16:54.383Z","cvss":[{"version":"4.0","score":8.8,"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/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","level":"high","assessor":"secondary"},{"version":"3.1","score":8.2,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-190"],"updated_at":"2026-11-02T14:12:45.93749Z"}],"osv":[{"id":"CVE-2026-87823","title":"zstd-jni 1.1.1 through 1.5.7-13 Out-of-Bounds Read via Direct ByteBuffer Frame-Size Methods","description":"zstd-jni before 1.5.7-14 performs 32-bit signed bounds checks on three direct-ByteBuffer frame-size native methods, allowing out-of-bounds memory reads via negative or overflowing offsets. Attackers can supply negative offset values near Integer.MIN_VALUE to read unmapped memory, causing JVM termination or extracting arbitrary frame size data from unintended memory locations.","status":"published","published":"2026-09-09T14:32:43.442Z","modified":"2026-10-28T11:19:06.2247165Z","cvss":[{"version":"4.0","score":8.8,"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","level":"high"}],"cwes":["CWE-190"],"updated_at":"2026-11-02T15:45:19.210277Z"},{"id":"DEBIAN-CVE-2026-87823","description":"zstd-jni before 1.5.7-14 performs 32-bit signed bounds checks on three direct-ByteBuffer frame-size native methods, allowing out-of-bounds memory reads via negative or overflowing offsets. Attackers can supply negative offset values near Integer.MIN_VALUE to read unmapped memory, causing JVM termination or extracting arbitrary frame size data from unintended memory locations.","status":"published","published":"2026-09-09T15:17:27.583Z","modified":"2026-10-18T04:00:08.600524205Z","cvss":[{"version":"4.0","score":8.8,"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/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","level":"high"}],"updated_at":"2026-11-02T15:46:05.506112Z"},{"id":"UBUNTU-CVE-2026-87823","description":"zstd-jni before 1.5.7-14 performs 32-bit signed bounds checks on three direct-ByteBuffer frame-size native methods, allowing out-of-bounds memory reads via negative or overflowing offsets. Attackers can supply negative offset values near Integer.MIN_VALUE to read unmapped memory, causing JVM termination or extracting arbitrary frame size data from unintended memory locations.","status":"published","published":"2026-09-09T15:17:00Z","modified":"2026-10-17T13:01:14.983764772Z","cvss":[{"version":"3.1","score":8.2,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H","level":"high"},{"version":"4.0","score":8.8,"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","level":"high"}],"updated_at":"2026-11-02T16:57:24.828975Z"},{"id":"openSUSE-SU-2026:11769-1","title":"zstd-jni-1.5.7.16-1.1 on GA media","description":"These are all security issues fixed in the zstd-jni-1.5.7.16-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-09-12T00:00:00Z","modified":"2026-09-13T12:15:04.260070266Z","updated_at":"2026-11-02T16:58:39.516824Z"},{"id":"openSUSE-SU-2026:21902-1","title":"Security update for zstd-jni","description":"This update for zstd-jni fixes the following issues:\n\n- CVE-2026-87823: denial of Service or Information Disclosure via out-of-bounds read (bsc#1279953).\n- CVE-2026-87824: denial of Service (DoS) via out-of-bounds read in Zstd.trainFromBufferDirect (bsc#1279956).\n- CVE-2026-87825: use-after-free resulting in silent data corruption or JVM crashes (bsc#1279955).\n- CVE-2026-87877: use-After-Free vulnerability allows memory corruption and denial of service (bsc#1279954).\n\nChanges for zstd-jni:\n\n- update to version v1.5.7.16.\n","status":"published","published":"2026-09-21T17:44:10Z","modified":"2026-09-25T18:23:12.440162389Z","updated_at":"2026-11-02T16:58:42.426393Z"},{"id":"SUSE-SU-2026:23858-1","title":"Security update for zstd-jni","description":"This update for zstd-jni fixes the following issues:\n\n- CVE-2026-87823: denial of Service or Information Disclosure via out-of-bounds read (bsc#1279953).\n- CVE-2026-87824: denial of Service (DoS) via out-of-bounds read in Zstd.trainFromBufferDirect (bsc#1279956).\n- CVE-2026-87825: use-after-free resulting in silent data corruption or JVM crashes (bsc#1279955).\n- CVE-2026-87877: use-After-Free vulnerability allows memory corruption and denial of service (bsc#1279954).\n\nChanges for zstd-jni:\n\n- update to version v1.5.7.16.\n","status":"published","published":"2026-09-21T17:43:14Z","modified":"2026-09-27T18:23:16.186423891Z","updated_at":"2026-11-02T15:54:03.991985Z"},{"id":"SUSE-SU-2026:23868-1","title":"Security update for zstd-jni","description":"This update for zstd-jni fixes the following issues:\n\n- CVE-2026-87823: denial of Service or Information Disclosure via out-of-bounds read (bsc#1279953).\n- CVE-2026-87824: denial of Service (DoS) via out-of-bounds read in Zstd.trainFromBufferDirect (bsc#1279956).\n- CVE-2026-87825: use-after-free resulting in silent data corruption or JVM crashes (bsc#1279955).\n- CVE-2026-87877: use-After-Free vulnerability allows memory corruption and denial of service (bsc#1279954).\n\nChanges for zstd-jni:\n\n- update to version v1.5.7.16.\n","status":"published","published":"2026-09-21T17:43:14Z","modified":"2026-09-27T18:23:16.691242275Z","updated_at":"2026-11-02T15:54:03.991985Z"}]}}
