CVE-2026-24850

5.3 MEDIUM

📋 TL;DR

This vulnerability in the ML-DSA Rust crate allows attackers to forge digital signatures by exploiting a validation flaw where duplicate hint indices are incorrectly accepted. Systems using ML-DSA for cryptographic signatures in affected versions are vulnerable to signature forgery attacks. This affects any application relying on ML-DSA for authentication or integrity verification.

💻 Affected Systems

Products:
  • ML-DSA Rust crate (RustCrypto implementation)
Versions: 0.0.4 through 0.1.0-rc.3
Operating Systems: All platforms running Rust applications using affected crate
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects Rust applications that import and use the vulnerable ML-DSA crate versions. The original implementation was correct before version 0.0.4.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of cryptographic integrity, allowing attackers to forge signatures for arbitrary data, potentially leading to authentication bypass, data tampering, or system compromise.

🟠

Likely Case

Signature forgery enabling unauthorized access or data manipulation in systems using ML-DSA for verification.

🟢

If Mitigated

Limited impact if additional signature validation layers exist or if ML-DSA is used in non-critical contexts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Wycheproof test vectors exist for verification testing. Exploitation requires generating signatures with duplicate hint indices, which violates the ML-DSA specification but passes the flawed validation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.1.0-rc.4 and later

Vendor Advisory: https://github.com/RustCrypto/signatures/tree/master/ml-dsa

Restart Required: Yes

Instructions:

1. Update Cargo.toml to specify ml-dsa >= 0.1.0-rc.4
2. Run 'cargo update'
3. Rebuild and redeploy application
4. Restart affected services

🔧 Temporary Workarounds

Pin to secure version

all

Force dependency to use pre-0.0.4 version that had correct implementation

cargo update -p ml-dsa --precise 0.0.3

🧯 If You Can't Patch

  • Implement additional signature validation layer using independent cryptographic library
  • Disable or restrict systems using ML-DSA signatures until patching is possible

🔍 How to Verify

Check if Vulnerable:

Check Cargo.lock or run 'cargo tree | grep ml-dsa' to see if version is between 0.0.4 and 0.1.0-rc.3

Check Version:

cargo tree | grep ml-dsa | head -1

Verify Fix Applied:

Verify ml-dsa version is 0.1.0-rc.4 or later using 'cargo tree | grep ml-dsa' and test with Wycheproof test vectors

📡 Detection & Monitoring

Log Indicators:

  • Failed signature verifications, unexpected authentication successes, cryptographic validation errors

Network Indicators:

  • Unusual signature patterns in network traffic, authentication attempts with malformed signatures

SIEM Query:

source="application_logs" AND ("signature verification" OR "ml-dsa") AND ("failed" OR "unexpected")

🔗 References

📤 Share & Export