Cyber Resilience

CVE-2024-48924

Crypto Weakness

Published
17 October 2024
Modified
15 April 2026
CVSS Score v4 8.7
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:N/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
EPSS Score 0.0037 30th percentile
Risk Priority 44 floored blend · peak EPSS

Summary

CVE-2024-48924 is a high-severity Use of Weak Hash (CWE-328) vulnerability. Its CVSS base score is 8.7 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique OS Credential Dumping (T1003); ranked at the 30th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to SC-13 (Cryptographic Protection) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

### Impact When this library is used to deserialize messagepack data from an untrusted source, there is a risk of a denial of service attack by an attacker that sends data contrived to produce hash collisions, leading to large CPU…

more

consumption disproportionate to the size of the data being deserialized. This is similar to [a prior advisory](https://github.com/MessagePack-CSharp/MessagePack-CSharp/security/advisories/GHSA-7q36-4xx7-xcxf), which provided an inadequate fix for the hash collision part of the vulnerability. ### Patches The following steps are required to mitigate this risk. 1. Upgrade to a version of the library where a fix is available. 1. Review the steps in [this previous advisory](https://github.com/MessagePack-CSharp/MessagePack-CSharp/security/advisories/GHSA-7q36-4xx7-xcxf) to ensure you have your application configured for untrusted data. ### Workarounds If upgrading MessagePack to a patched version is not an option for you, you may apply a manual workaround as follows: 1. Declare a class that derives from `MessagePackSecurity`. 2. Override the `GetHashCollisionResistantEqualityComparer<T>` method to provide a collision-resistant hash function of your own and avoid calling `base.GetHashCollisionResistantEqualityComparer<T>()`. 3. Configure a `MessagePackSerializerOptions` with an instance of your derived type by calling `WithSecurity` on an existing options object. 4. Use your custom options object for all deserialization operations. This may be by setting the `MessagePackSerializer.DefaultOptions` static property, if you call methods that rely on this default property, and/or by passing in the options object explicitly to any `Deserialize` method. ### References - Learn more about best security practices when reading untrusted data with [MessagePack 1.x](https://github.com/MessagePack-CSharp/MessagePack-CSharp/tree/v1.x#security) or [MessagePack 2.x](https://github.com/MessagePack-CSharp/MessagePack-CSharp#security). - The .NET team's [discussion on hash collision vulnerabilities of their `HashCode` struct](https://github.com/GrabYourPitchforks/runtime/blob/threat_models/docs/design/security/System.HashCode.md). ### For more information If you have any questions or comments about this advisory: * [Start a public discussion](https://github.com/MessagePack-CSharp/MessagePack-CSharp/discussions) * [Email us privately](mailto:andrewarnott@live.com)

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1003 OS Credential Dumping Credential Access
Adversaries may attempt to dump credentials to obtain account login and credential material, normally in the form of a hash or a clear text password.
T1110 Brute Force Credential Access
Adversaries may use brute force techniques to gain access to accounts when passwords are unknown or when password hashes are obtained.
T1110.002 Password Cracking Credential Access
Adversaries may use password cracking to attempt to recover usable credentials, such as plaintext passwords, when credential material such as password hashes are obtained.
T1555 Credentials from Password Stores Credential Access
Adversaries may search for common password storage locations to obtain user credentials.
T1555.005 Password Managers Credential Access
Adversaries may acquire user credentials from third-party password managers.
T1552 Unsecured Credentials Credential Access
Adversaries may search compromised systems to find and obtain insecurely stored credentials.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2025-31130Shared CWE-328
CVE-2026-36182Shared CWE-328
CVE-2025-47276Shared CWE-328
CVE-2025-21604Shared CWE-328
CVE-2025-9078Shared CWE-328
CVE-2024-54143Shared CWE-328
CVE-2023-44319Shared CWE-328
CVE-2026-41879Shared CWE-328
CVE-2026-21717Shared CWE-328
CVE-2024-47829Shared CWE-328

Affected Assets

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 5 hardening rules · 5 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V11.2.3
  • V6.5.2

Mitigating Controls (NIST 800-53 r5) AI

Mandating approved cryptographic algorithms and strengths directly stops selection of weak hash functions for integrity or other uses.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 full match
prevents

Secure-SDLC requirements explicitly forbid weak cryptographic algorithms, fully preventing CWE-328 while covering only one aspect of development practice.

PR.DS-01 mostly match
prevents

Proper data-at-rest integrity protection requires strong cryptographic hashes, directly blocking weak-hash usage.

PR.DS-02 mostly match
prevents

Data-in-transit integrity likewise depends on strong hashes, so the control prevents the weakness while the weakness only partially satisfies the outcome.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Mandates use of approved cryptographic algorithms, directly preventing weak-hash selection.

finds

Security testing can detect weak-hash usage but does not prescribe algorithm choice.

prevents

Application security requirements can specify strong hashing, but the control is broader.

prevents

Requires secure coding standards that forbid weak hash functions in source code.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).

Windows 10 (1 rule)
  • V-220937 The system must be configured to prevent the storage of the LAN Manager hash of passwords. prevents CWE-328
Windows 11 (1 rule)
  • V-253461 The system must be configured to prevent the storage of the LAN Manager hash of passwords. prevents CWE-328
Windows Server 2016 (1 rule)
  • V-225053 Windows Server 2016 must be configured to prevent the storage of the LAN Manager hash of passwords. prevents CWE-328
Windows Server 2019 (1 rule)
  • V-205654 Windows Server 2019 must be configured to prevent the storage of the LAN Manager hash of passwords. prevents CWE-328
Windows Server 2022 (1 rule)
  • V-254474 Windows Server 2022 must be configured to prevent the storage of the LAN Manager hash of passwords. prevents CWE-328

References