Skip to main content

MessagePack for C# CVE-2026-48502

| EUVDEUVD-2026-38389 HIGH
Out-of-bounds Read (CWE-125)
2026-06-22 GitHub_M GHSA-382j-8mxh-c7x2
8.2
CVSS 4.0 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
8.2 HIGH
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
5.9 MEDIUM

Network-reachable unauthenticated DoS; AC:H because the consumer must invoke the timestamp slow path on attacker data; only availability impacted.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

2
Patch available
Jun 22, 2026 - 23:02 EUVD
Analysis Generated
Jun 22, 2026 - 22:19 vuln.today

DescriptionCVE.org

MessagePack for C

is a MessagePack serializer for C#. Prior to 2.5.301 and 3.1.7, MessagePackReader.ReadDateTime() can allocate stack memory based on an attacker-controlled MessagePack extension length. In the slow path for timestamp extension parsing, the computed tokenSize includes the extension body length from the wire and is used in a stackalloc operation before the extension length is validated as one of the valid timestamp sizes. A very small payload can claim a large timestamp extension body and cause a stack allocation large enough to trigger an uncatchable StackOverflowException, terminating the host process. This vulnerability is fixed in 2.5.301 and 3.1.7.

AnalysisAI

Denial of service in MessagePack for C

versions prior to 2.5.301 and 3.1.7 allows remote attackers to terminate host processes by sending a crafted MessagePack timestamp extension payload that triggers an uncatchable StackOverflowException. The flaw stems from a stackalloc operation using an attacker-controlled extension length before validation, enabling a tiny payload to claim a massive stack allocation. No public exploit identified at time of analysis, and CVSS 4.0 of 8.2 reflects high availability impact with attack complexity requirements.

Technical ContextAI

MessagePack for C

is a high-performance binary serializer widely used in .NET applications, games (Unity), and microservices for compact data interchange. The vulnerability lives in MessagePackReader.ReadDateTime() inside the slow path for timestamp extension parsing: the routine computes tokenSize from the on-wire extension body length and passes it directly to a stackalloc call before checking that the length matches one of the valid timestamp sizes (4, 8, or 12 bytes per the MessagePack timestamp extension spec). CWE-125 (out-of-bounds read) is the assigned weakness class, though the realized impact is actually an unbounded stack allocation that overruns the thread's stack - a stack-based resource exhaustion that .NET cannot catch, immediately terminating the entire process.

RemediationAI

Vendor-released patch: upgrade to MessagePack-CSharp 2.5.301 (2.x users) or 3.1.7 (3.x users) as documented in advisory GHSA-382j-8mxh-c7x2 (https://github.com/MessagePack-CSharp/MessagePack-CSharp/security/advisories/GHSA-382j-8mxh-c7x2). If immediate upgrade is not possible, restrict or reject MessagePack input from untrusted sources at the network or application boundary, enforce a strict maximum payload size on incoming MessagePack messages (which limits the attacker's ability to claim large extension bodies even before parsing), or wrap deserialization in a separate worker process that can be restarted on crash - trade-offs include latency overhead for the worker isolation approach and the fact that size limits do not strictly prevent the issue since the extension-length field is what is abused rather than total payload size. Disabling timestamp extension parsing is not an exposed configuration option, so patching is strongly preferred.

CVE-2026-48506 HIGH POC
7.5 Jun 22

Denial of service in MessagePack for C# versions prior to 2.5.301 and 3.1.7 allows remote attackers to crash application

CVE-2026-48517 MEDIUM
6.3 Jun 22

Typeless deserialization in MessagePack-CSharp allows blocked types to be instantiated by wrapping them inside arrays or

CVE-2026-48509 MEDIUM
6.3 Jun 22

Insecure default initialization in MessagePack for C#'s ASP.NET Core MVC formatter exposes .NET web applications to hash

CVE-2026-48510 MEDIUM
6.3 Jun 22

LZ4 decompression in MessagePack for C# prior to versions 2.5.301 (v2 branch) and 3.1.7 (v3 branch) allows remote attack

CVE-2026-48511 MEDIUM
6.3 Jun 22

Quadratic CPU and memory allocation behavior in MessagePack-CSharp's ExpandoObjectFormatter enables remote unauthenticat

CVE-2026-48512 MEDIUM
6.3 Jun 22

Uncontrolled recursion in MessagePack-CSharp's JSON conversion helpers allows remote attackers to crash .NET host proces

CVE-2026-48513 MEDIUM
6.3 Jun 22

Uncontrolled recursion in MessagePack for C# allows network-reachable attackers to crash applications by submitting deep

CVE-2026-48514 MEDIUM
6.3 Jun 22

Unchecked large-array allocation in MessagePack for C# exposes any .NET application deserializing untrusted MessagePack

CVE-2026-48515 MEDIUM
6.3 Jun 22

Heap exhaustion via crafted multi-dimensional array payloads in MessagePack-CSharp affects all v2.x releases before 2.5.

CVE-2026-48516 MEDIUM
6.3 Jun 22

CPU denial of service in MessagePack for C# affects applications deserializing ILookup<TKey,TElement> types from untrust

Share

CVE-2026-48502 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy