Vulnerability 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.
CVSS Score
HIGH
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| Messagepack | Messagepack | < 2.5.301 |
Related Weaknesses (CWE)
References
- https://github.com/MessagePack-CSharp/MessagePack-CSharp/security/advisories/GHSMitigationVendor Advisory
FAQ
What is CVE-2026-48511?
CVE-2026-48511 is a vulnerability with a CVSS score of 7.5 (HIGH). 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 ...
How severe is CVE-2026-48511?
CVE-2026-48511 has been rated HIGH with a CVSS base score of 7.5/10. Review the CVSS metrics above for detailed severity breakdown.
Is there a patch for CVE-2026-48511?
Check the references section above for vendor advisories and patch information. Affected products include: Messagepack Messagepack.