GHSA-8f34-f56x-9xph
msgpack5: Truncated map32 headers throw an unexpected error
Packages
Details
As written in the advisory (Markdown source, shown as plain text).
### 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.
References
External links from the advisory. They lead to third-party sites.
- https://github.com/mcollina/msgpack5/security/advisories/GHSA-8f34-f56x-9xph
- https://nvd.nist.gov/vuln/detail/CVE-2026-107302
- https://github.com/mcollina/msgpack5/commit/15443a1f2aa682a6aa37f1705ac628de5b866ad1
- https://github.com/mcollina/msgpack5
- https://github.com/mcollina/msgpack5/releases/tag/v6.1.0