libcrux has an Incorrect Check of Signer Response Norm During Verification
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-347.
Summary
The ML-DSA verification algorithm as specified in [FIPS 204, subsection 6.3](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.204.pdf#subsection.6.3) requires verifiers to check that the infinity norm of the deserialized signer response $z$ does not exceed $\gamma_1 - \beta$ (line 13 of Algorithm 8). The same check is required to be performed during signature generation. libcrux-ml-dsa did not perform this check correctly during signature verification, accepting signatures with signer response norm above the allowed maximum value. The check is correctly performed during signing. ## Impact Applications using libcrux-ml-dsa for signature verification would have accepted signatures that would be rejected by a conforming implementation. ## Mitigation Starting from version `0.0.8`, signature verification uses the correct value for $\gamma_1$ in the signer response norm check.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | libcrux-ml-dsa (crates.io) | before 0.0.8 | 0.0.8 | Patch available | GHSA-cp57-fq8g-qh6v |
- libcrux-ml-dsa (crates.io) Vendor— Affected before 0.0.8 Fixed in 0.0.8 Patch available GHSA-cp57-fq8g-qh6v
Remediation
- Fix · GHSA-cp57-fq8g-qh6v libcrux-ml-dsa (crates.io) Fixed in 0.0.8 Advisory →
Timeline
- 2026-10-03 Threatist record created from GHSA-cp57-fq8g-qh6v
References
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences