Vulnocalypse
Back to feed
34impact

MessagePack: Nested arrays can blow past buffer length limits

MessagePack-CSharp · CVE-2026-92707
0 news outlets1 CERTs and agencies0 researchers

What is it?

MessagePack for C# is a MessagePack serializer for C#. Prior to 2.5.303 and 3.1.9, deserializing attacker-controlled MessagePack data as System.Object through PrimitiveObjectFormatter can cause excessive memory allocation. The formatter allocates an object[] from each declared array length before the configured object-graph depth limit rejects the input, while nested array headers can reuse the same trailing unread bytes to satisfy per-header length validation. A comparatively small payload can therefore keep many large arrays alive at once. When an attacker can submit such data repeatedly, the allocations can cause severe managed-heap pressure, excessive garbage collection, process termination, or loss of service. Exposure requires an application to deserialize untrusted data through the affected formatter path and permit repeated attacker-controlled submissions, such as a reachable ASP.NET Core SignalR hub method with an object parameter and AddMessagePackProtocol() enabled. This issue is fixed in versions 2.5.303 and 3.1.9.

Evidence

CERTs and agencies (1)

Exploitation

  • Public proof of concept
  • Exploited in the wild
  • Listed as known exploited
CVSS
5.3
EPSS
0.6%
First seen
4 h ago
Status
confirmed

All MessagePack-CSharp vulnerabilities