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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-1325"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/92xxx/CVE-2026-92707.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "2.5.303"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "3.0.0"
},
{
"fixed": "3.1.9"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "7fd78bbf3476e03beae8b0f7a521125525a8a64a"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "95b63fca4f7097d3cac12d1a95286af4b4bbf02c"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "v2.5.303",
"range": [
{
"fixed": "7fd78bbf3476e03beae8b0f7a521125525a8a64a"
}
],
"source": "REFERENCES_TAG"
},
{
"original_tag": "v3.1.9",
"range": [
{
"fixed": "aa16e71ae548645050f0a6798874540f3149681b"
}
],
"source": "REFERENCES_TAG"
}
]
}