CVE-2026-48515
MessagePack-CSharp: Multi-dimensional array formatters allocate from unchecked dimensions
Impact
MessagePack for C# is a MessagePack serializer for C#. Prior to 2.5.301 and 3.1.7, MessagePack-CSharp's multi-dimensional array formatters read dimension lengths directly from the payload and allocate T[,], T[,,], or T[,,,] before validating that the dimension product matches the encoded element count. The formatter reads a guarded element array header, but allocation of the target multi-dimensional array happens before the dimensions are checked against that element count. A small payload can therefore declare large dimensions, provide an empty or tiny inner array, and cause a large heap allocation before element data is validated. This vulnerability is fixed in 2.5.301 and 3.1.7.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| nuget | MessagePack | < 2.5.301 | 2.5.301 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Messagepack | Messagepack | before 2.5.301 from 3.0.3 before 3.1.7 |