CVE-2026-48511
Description
MessagePack for C# is a MessagePack serializer for C#. Prior to 2.5.301 and 3.1.7, ExpandoObjectFormatter.Deserialize populates System.Dynamic.ExpandoObject by calling IDictionary<string, object>.Add for each map entry. ExpandoObject internally maintains member names in array-like structures, so inserting many distinct keys can require repeated linear scans and array copies. For large attacker-controlled maps, this produces quadratic CPU and allocation behavior. The issue is especially surprising because ExpandoObjectResolver.Options is configured with MessagePackSecurity.UntrustedData, but collision-resistant dictionary comparers cannot protect ExpandoObject insertion internals. This vulnerability is fixed in 2.5.301 and 3.1.7.
How to fix
- messagepack messagepack2.5.301, 3.1.7 or later
- MessagePack2.5.301, 3.1.7 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| messagepack messagepack | v < 2.5.301, 3.0.3 ≤ v < 3.1.7 | 2.5.301, 3.1.7 |
| MessagePackNuGet | v < 2.5.301, 3.0 ≤ v < 3.1.7 | 2.5.301, 3.1.7 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.