The reserved MessagePack byte 0xc1 is incorrectly treated as incomplete input. When it appears at the start of a decoder stream, all subsequent data is retained while the decoder waits for bytes that can never make the value valid, allowing memory exhaustion.
The decoder now rejects 0xc1 as invalid input. Streaming decoders release buffered input and stop after unrecoverable decoding errors.
Reject 0xc1 before streaming input to msgpack5, and enforce stream byte and time limits.
{
"cwe_ids": [
"CWE-228"
],
"github_reviewed": true,
"github_reviewed_at": "2026-10-08T17:40:01Z",
"nvd_published_at": null,
"severity": "MODERATE"
}