Skip to main content
← All vulnerabilities
CVE-2026-48515GHSA-CXMJ-83GH-FP49

MessagePack-CSharp: Multi-dimensional array formatters allocate from unchecked dimensions

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 3.1.7, 2.5.301
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

MessagePack for C# is a MessagePack serializer for C#. Prior to 2.5.301 and 3.1.7, MessagePack-CSharp's multi-dimensional array formatters read dimension lengths directly from the payload and allocate T[,], T[,,], or T[,,,] before validating that the dimension product matches the encoded element count. The formatter reads a guarded element array header, but allocation of the target multi-dimensional array happens before the dimensions are checked against that element count. A small payload can therefore declare large dimensions, provide an empty or tiny inner array, and cause a large heap allocation before element data is validated. This vulnerability is fixed in 2.5.301 and 3.1.7.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • MessagePack-CSharp MessagePack-CSharp

    From 3.0 · fixed in 3.1.7; fixed in 2.5.301

  • MessagePackNuGet

    fixed in 2.5.301

  • MessagePackNuGet

    From 3.0 · fixed in 3.1.7

References 1

GitHub · MessagePack-CSharp/MessagePack-CSharp