CVE-2026-48517 MessagePack-CSharp: Typeless deserialization type restrictions do not recurse into arrays or generic arguments
Attackers can bypass type restrictions in MessagePack-CSharp by wrapping dangerous types in arrays or generics, potentially leading to code execution.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-48517?
CVE-2026-48517 is a medium-severity unsafe deserialization vulnerability in MessagePack-CSharp, published on 22 Jun 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
MessagePack for C# is a MessagePack serializer for C#. Prior to 2.5.301 and 3.1.7, MessagePack-CSharp's typeless deserialization includes MessagePackSerializerOptions.ThrowIfDeserializingTypeIsDisallowed(Type) as a safety check for dangerous types. The default implementation checks the outer type name, but it does not recursively inspect array element types or generic type arguments. As a result, a type that would be blocked directly can be wrapped inside an array or constructed generic type and pass the outer type check. The formatter machinery can then materialize formatters for the inner blocked type. This vulnerability is fixed in 2.5.301 and 3.1.7.
Which versions are affected by CVE-2026-48517?
4 open source packages ship an affected version, including MessagePack. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
MessagePack NuGet | All versions | 2.5.301 |
MessagePack NuGet | All versions | 2.5.301 |
MessagePack NuGet | From 3.0 | 3.1.7 |
MessagePack NuGet | From 3.0 | 3.1.7 |
Products include Messagepack Messagepack.
How do I fix CVE-2026-48517?
Upgrade MessagePack to a fixed version for your release line: 2.5.301 or 3.1.7.
Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.
Is CVE-2026-48517 being exploited?
There is no known exploitation of CVE-2026-48517 in the wild and no public exploit code.
Other vulnerabilities in MessagePack-CSharp
- CVE-2026-48109 MessagePack-CSharp: LZ4 decompression may fail with AccessViolationException after dereferencing memory from bad input
- CVE-2026-48502 MessagePack-CSharp: Denial of service vulnerabilities can swamp the CPU or crash the process with stack and heap overflows
- CVE-2026-48506 MessagePack-CSharp: MessagePackReader.Skip can recurse without enforcing maximum object graph depth
- CVE-2026-48509 MessagePack-CSharp: ASP.NET Core MessagePackInputFormatter defaults to TrustedData for HTTP request bodies
- CVE-2026-48510 MessagePack-CSharp: LZ4 decompression allocates from unbounded declared output lengths
Sources
Also known as ECHO-b8c3-eda5-29b5, GHSA-qhmf-xw27-6rqr.