What’s Vulnerable › Vulnerabilities
CVE-2026-48511: MessagePack-CSharp: ExpandoObject formatter can perform quadratic insertion work on untrusted maps
- Severity: high (CVSS 7.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.4% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-06-22 · updated 2026-06-25
- Weakness: CWE-407
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.
Affected products
- MessagePack-CSharp: before 2.5.301; from 3.0.3 before 3.1.7 — fixed in 2.5.301, 3.1.7
How to fix
Upgrade to a fixed version: MessagePack-CSharp 2.5.301, 3.1.7. Check the vendor advisory for mitigations.
References
Get alerted when CVE-2026-48511 or the next vulnerability affects your stack