PT-2024-33272 · Unknown · Messagepack-Csharp
Aarnott
·
Published
2024-10-17
·
Updated
2024-10-18
·
CVE-2024-48924
CVSS v4.0
8.7
High
| Vector | AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N |
Name of the Vulnerable Software and Affected Versions
MessagePack-CSharp versions prior to 2.5.187 and 3.0.214
Description
The vulnerability occurs when the library is used to deserialize messagepack data from an untrusted source, leading to a risk of a denial of service attack by an attacker that sends data contrived to produce hash collisions. This results in large CPU consumption disproportionate to the size of the data being deserialized. The issue is similar to a prior advisory, which provided an inadequate fix for the hash collision part of the vulnerability.
Recommendations
To mitigate this risk, upgrade to a version of the library where a fix is available.
If upgrading from v1, check out the migration guide.
Review the steps in the previous advisory to ensure the application is configured for untrusted data.
If upgrading MessagePack to a patched version is not an option, apply a manual workaround by declaring a class that derives from
MessagePackSecurity, overriding the GetHashCollisionResistantEqualityComparer method to provide a collision-resistant hash function, and configuring MessagePackSerializerOptions with an instance of the derived type.
Use the custom options object for all deserialization operations.Exploit
Fix
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Messagepack-Csharp