mcollina/msgpack5 · Security
msgpack5: Truncated map32 headers throw an unexpected error
- GHSA ID
- GHSA-8f34-f56x-9xph
- CVE ID
- CVE-2026-107302
- Severity
- high
- Published
- Updated
- CVSS
- 7.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- CVSS v3
- 7.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
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.
CWEs
- CWE-125 · Out-of-bounds Read
References
- https://github.com/mcollina/msgpack5/security/advisories/GHSA-8f34-f56x-9xph ↗
- https://github.com/mcollina/msgpack5/commit/15443a1f2aa682a6aa37f1705ac628de5b866ad1 ↗
- https://github.com/mcollina/msgpack5/releases/tag/v6.1.0 ↗
- https://nvd.nist.gov/vuln/detail/CVE-2026-107302 ↗
- https://github.com/advisories/GHSA-8f34-f56x-9xph ↗