The streaming decoder reparses an incomplete container from the beginning whenever another chunk arrives. A remote peer can split one valid MessagePack value across many small chunks, causing quadratic CPU usage and blocking the event loop.
The decoder now preserves incremental container state so completed elements are not parsed again when more input arrives.
Buffer each complete MessagePack value before decoding it, or limit the number of chunks accepted for a single value.
{
"cwe_ids": [
"CWE-407"
],
"github_reviewed": true,
"github_reviewed_at": "2026-10-08T17:39:46Z",
"nvd_published_at": null,
"severity": "MODERATE"
}