Skip to main content
← All vulnerabilities
CVE-2026-24850GHSA-5X2R-HC65-25F9

ML-DSA Signature Verification Accepts Signatures with Repeated Hint Indices

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.1.0-rc.4
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: yes
  • Technical impact: partial

Summary

The ML-DSA crate is a Rust implementation of the Module-Lattice-Based Digital Signature Standard (ML-DSA). Starting in version 0.0.4 and prior to version 0.1.0-rc.4, the ML-DSA signature verification implementation in the RustCrypto `ml-dsa` crate incorrectly accepts signatures with repeated (duplicate) hint indices. According to the ML-DSA specification (FIPS 204 / RFC 9881), hint indices within each polynomial must be strictly increasing. The current implementation uses a non-strict monotonic check (`<=` instead of `<`), allowing duplicate indices. This is a regression bug. The original implementation was correct, but a commit in version 0.0.4 inadvertently changed the strict `<` comparison to `<=`, introducing the vulnerability. Version 0.1.0-rc.4 fixes the issue.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • RustCrypto signatures

    From 0.0.4 · fixed in 0.1.0-rc.4

  • ml-dsacrates.io

    From 0.0.4 · fixed in 0.1.0-rc.4

References 11

GitHub · RustCrypto/signatures

csrc.nist.gov

datatracker.ietf.org

GitHub · C2SP/wycheproof