msgpack5: Truncated map32 headers throw an unexpected error
What fixes it
- 6.1.0msgpack5, npmGitHub
npm install msgpack5@6.1.0
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
Impact
A 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.
Patches
The decoder now validates the complete five-byte map32 header before reading its length and reports truncated input as IncompleteBufferError.
Workarounds
Require 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.
Text from GitHub Advisory Database
Affected versions 3
- msgpack5, npm>= 4.1.0, < 6.1.0GitHub
- msgpack5affected: >= 4.1.0. < 6.1.0CVE List
- msgpack5, npmfrom 4.1.0, fixed in 6.1.0OSV
References 5
- github.com/mcollina/msgpack5/commit/15443a1f2aa682a6aa37f1705ac628de5b866ad1Fixvia CVE List
- github.com/mcollina/msgpack5/releases/tag/v6.1.0Fixvia CVE List
- github.com/mcollina/msgpack5/security/advisories/GHSA-8f34-f56x-9xphAdvisoryvia CVE List
- github.com/advisories/GHSA-8f34-f56x-9xphAdvisoryvia GitHub
- nvd.nist.gov/vuln/detail/CVE-2026-107302Referencevia GitHub