GHSA-qjvr-435c-5fjh
Medium · 5.3Nerdbank.MessagePack has a memory amplification DoS in collection deserialization
CVSS
5.3
EPSS
—
Published
May 29, 2026
CISA due date
—
The record
Nerdbank.MessagePack deserializers for many collection-shaped types trusted the element count declared in MessagePack array and map headers when allocating destination storage. A crafted payload could therefore force large arrays, pooled buffers, dictionaries, or collection instances to be allocated before the deserializer had consumed the corresponding elements. The same allocation pattern existed across strongly typed arrays, primitive arrays, mutable and immutable dictionaries, mutable enumerables, span-backed enumerable construction, `JsonNode`, `MessagePackValue`, and the object/dynamic primitive converters. Because MessagePack array and map headers carry an attacker-controlled element count, any converter that immediately allocates `count` elements or constructs a collection with capacity `count` can turn a payload that is merely large into a much larger managed heap allocation. The reader's residency checks reduce the most extreme header-only attack shape, but they do not remove the memory amplification: minimal MessagePack elements can be one or two bytes on the wire while the managed representation may require object references, dictionary buckets, entries, array headers, or over-allocated collection internals.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-97031 Multiple ECH outer extension references are not permitted under RFC 9849; previously, a… CWE-405
- CVE-2026-78669 A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by… CWE-405
- CVE-2026-78659 When "Trailer" headers are sent by a client, the HTTP server internally uses the header… CWE-405
- CVE-2026-75029 In a query response, an attacker may send `named` multiple copies of a record that should… CWE-405
- CVE-2026-82309 Robots::Validate versions from 0.3.2 before 0.3.11 for Perl allow unbounded outbound DNS… CWE-405
- CVE-2026-84310 pypdf is a free and open-source pure-python PDF library. CWE-405
- CVE-2026-54874 Issue summary: Receiving a DTLS record for a future epoch while a handshake is in… CWE-405
- CVE-2026-23930 An unauthenticated user is able to cause disproportionate CPU load on the Frontend… CWE-405