{"id":"CVE-2026-107302","aliases":["AZL-106845","CLSA-2026-1791806348","CLSA-2026-1793302953","EUVD-2026-95114","GHSA-8f34-f56x-9xph"],"status":"published","title":"msgpack5: Truncated map32 headers throw an unexpected error","description":"msgpack5 is a msgpack v5 implementation for node.js and the browser. Prior to 6.1.0, the decoder reads the four-byte length of a map32 value before validating that the complete five-byte header is available. A truncated map32 header therefore causes a checked out-of-bounds buffer read and throws RangeError instead of IncompleteBufferError, which can unexpectedly terminate a request, stream, or worker in applications that wait for additional bytes after IncompleteBufferError. There is no adjacent-memory disclosure because the buffer implementation checks bounds. This issue is fixed in version 6.1.0.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.0052,"percentile":0.44481,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-125"],"published":"2026-10-08T17:14:19Z","modified":"2026-10-30T02:15:06Z","fixes":[{"ecosystem":"npm","package":"msgpack5","fixed_in":["6.1.0"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"msgpack5","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.1.0"},{"fixed":"6.1.0"}]}]},{"source":"osv","ecosystem":"Azure Linux:3","package":"msgpack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"3.3.0-1"}]}]},{"source":"osv","ecosystem":"TuxCare:npm","package":"msgpack5","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.5.1-tuxcare.0"},{"fixed":"4.5.1-tuxcare.1"}]}],"versions":["4.5.1"],"bundled":5},{"source":"osv","ecosystem":"TuxCare:npm","package":"msgpack5","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.6.1-tuxcare.0"},{"fixed":"3.6.1-tuxcare.1"}]}],"versions":["3.6.1"],"bundled":7},{"source":"osv","ecosystem":"npm","package":"msgpack5","ranges":[{"type":"SEMVER","events":[{"introduced":"4.1.0"},{"fixed":"6.1.0"}]}]}],"products":[{"vendor":"mcollina","product":"msgpack5"}],"references":[{"url":"https://github.com/mcollina/msgpack5/security/advisories/GHSA-8f34-f56x-9xph","tags":["x_refsource_CONFIRM","advisory","web"]},{"url":"https://github.com/mcollina/msgpack5/commit/15443a1f2aa682a6aa37f1705ac628de5b866ad1","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/mcollina/msgpack5/releases/tag/v6.1.0","tags":["x_refsource_MISC","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-107302","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-8f34-f56x-9xph"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/107xxx/CVE-2026-107302.json","tags":["advisory"]},{"url":"https://github.com/mcollina/msgpack5","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-107302","title":"msgpack5: Truncated map32 headers throw an unexpected error","description":"msgpack5 is a msgpack v5 implementation for node.js and the browser. Prior to 6.1.0, the decoder reads the four-byte length of a map32 value before validating that the complete five-byte header is available. A truncated map32 header therefore causes a checked out-of-bounds buffer read and throws RangeError instead of IncompleteBufferError, which can unexpectedly terminate a request, stream, or worker in applications that wait for additional bytes after IncompleteBufferError. There is no adjacent-memory disclosure because the buffer implementation checks bounds. This issue is fixed in version 6.1.0.","status":"published","published":"2026-10-08T17:14:19.514Z","modified":"2026-10-19T19:29:15.139Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T13:45:14.072357Z"}],"euvd":[{"id":"EUVD-2026-95114","description":"msgpack5 is a msgpack v5 implementation for node.js and the browser. Prior to 6.1.0, the decoder reads the four-byte length of a map32 value before validating that the complete five-byte header is available. A truncated map32 header therefore causes a checked out-of-bounds buffer read and throws RangeError instead of IncompleteBufferError, which can unexpectedly terminate a request, stream, or worker in applications that wait for additional bytes after IncompleteBufferError. There is no adjacent-memory disclosure because the buffer implementation checks bounds. This issue is fixed in version 6.1.0.","status":"published","published":"2026-10-08T17:14:19Z","modified":"2026-10-19T19:29:15Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T16:59:48.157412Z"}],"ghsa":[{"id":"GHSA-8f34-f56x-9xph","title":"msgpack5: Truncated map32 headers throw an unexpected error","description":"### Impact\n\nA truncated `map32` header causes an out-of-bounds buffer read and throws `RangeError` instead of `IncompleteBufferError`. Applications that rely on `IncompleteBufferError` to wait for additional bytes may terminate a request, stream, or worker unexpectedly. No adjacent memory is disclosed because the buffer implementation checks bounds.\n\n### Patches\n\nThe decoder now validates the complete five-byte `map32` header before reading its length and reports truncated input as `IncompleteBufferError`.\n\n### Workarounds\n\nRequire at least five bytes before decoding a value beginning with `0xdf`, or catch `RangeError` and treat it as incomplete input only for truncated `map32` headers.","status":"published","published":"2026-10-08T17:40:10Z","modified":"2026-10-19T19:29:00Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T14:41:33.669646Z"}],"nvd":[{"id":"CVE-2026-107302","description":"msgpack5 is a msgpack v5 implementation for node.js and the browser. Prior to 6.1.0, the decoder reads the four-byte length of a map32 value before validating that the complete five-byte header is available. A truncated map32 header therefore causes a checked out-of-bounds buffer read and throws RangeError instead of IncompleteBufferError, which can unexpectedly terminate a request, stream, or worker in applications that wait for additional bytes after IncompleteBufferError. There is no adjacent-memory disclosure because the buffer implementation checks bounds. This issue is fixed in version 6.1.0.","status":"published","published":"2026-10-08T18:17:19.1Z","modified":"2026-10-19T20:17:47.077Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T14:12:55.142936Z"}],"osv":[{"id":"CVE-2026-107302","title":"msgpack5: Truncated map32 headers throw an unexpected error","description":"msgpack5 is a msgpack v5 implementation for node.js and the browser. Prior to 6.1.0, the decoder reads the four-byte length of a map32 value before validating that the complete five-byte header is available. A truncated map32 header therefore causes a checked out-of-bounds buffer read and throws RangeError instead of IncompleteBufferError, which can unexpectedly terminate a request, stream, or worker in applications that wait for additional bytes after IncompleteBufferError. There is no adjacent-memory disclosure because the buffer implementation checks bounds. This issue is fixed in version 6.1.0.","status":"published","published":"2026-10-08T17:14:19.514Z","modified":"2026-10-28T02:31:12.84244094Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T15:44:54.933106Z"},{"id":"GHSA-8f34-f56x-9xph","title":"msgpack5: Truncated map32 headers throw an unexpected error","description":"### Impact\n\nA truncated `map32` header causes an out-of-bounds buffer read and throws `RangeError` instead of `IncompleteBufferError`. Applications that rely on `IncompleteBufferError` to wait for additional bytes may terminate a request, stream, or worker unexpectedly. No adjacent memory is disclosed because the buffer implementation checks bounds.\n\n### Patches\n\nThe decoder now validates the complete five-byte `map32` header before reading its length and reports truncated input as `IncompleteBufferError`.\n\n### Workarounds\n\nRequire at least five bytes before decoding a value beginning with `0xdf`, or catch `RangeError` and treat it as incomplete input only for truncated `map32` headers.","status":"published","published":"2026-10-08T17:40:10Z","modified":"2026-10-19T19:45:04.408071513Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T15:46:42.077781Z"},{"id":"AZL-106845","title":"CVE-2026-107302 affecting package msgpack 3.3.0-1","description":"msgpack5 is a msgpack v5 implementation for node.js and the browser. Prior to 6.1.0, the decoder reads the four-byte length of a map32 value before validating that the complete five-byte header is available. A truncated map32 header therefore causes a checked out-of-bounds buffer read and throws RangeError instead of IncompleteBufferError, which can unexpectedly terminate a request, stream, or worker in applications that wait for additional bytes after IncompleteBufferError. There is no adjacent-memory disclosure because the buffer implementation checks bounds. This issue is fixed in version 6.1.0.","status":"published","published":"2026-10-08T18:17:19Z","modified":"2026-10-15T05:37:09Z","updated_at":"2026-11-02T15:28:01.408755Z"},{"id":"CLSA-2026-1791806348","title":"TuxCare security update for msgpack5 (5 CVEs)","description":"TuxCare rebuilt msgpack5 to address 5 CVEs. Fixed in 4.5.1-tuxcare.1.","status":"published","published":"2026-10-12T11:59:08Z","modified":"2026-10-23T13:58:13.881280526Z","updated_at":"2026-11-02T15:43:50.599064Z"},{"id":"CLSA-2026-1793302953","title":"TuxCare security update for msgpack5 (7 CVEs)","description":"TuxCare rebuilt msgpack5 to address 7 CVEs. Fixed in 3.6.1-tuxcare.1.","status":"published","published":"2026-10-29T20:42:34Z","modified":"2026-10-30T02:15:06.130856267Z","updated_at":"2026-11-02T15:43:55.669514Z"}]}}
