File tree Expand file tree Collapse file tree 1 file changed +39
-0
lines changed
Expand file tree Collapse file tree 1 file changed +39
-0
lines changed Original file line number Diff line number Diff line change 1+ ``` toml
2+ [advisory ]
3+ id = " RUSTSEC-0000-0000"
4+ package = " libcrux-ml-dsa"
5+ date = " 2026-03-04"
6+ url = " https://github.com/cryspen/libcrux/pull/1347"
7+
8+ [affected .functions ]
9+ "libcrux_ml_dsa::ml_dsa_44::verify" = [ " <= 0.0.7" ]
10+ "libcrux_ml_dsa::ml_dsa_65::verify" = [ " <= 0.0.7" ]
11+ "libcrux_ml_dsa::ml_dsa_87::verify" = [ " <= 0.0.7" ]
12+
13+ [versions ]
14+ patched = [" >= 0.0.8 " ]
15+ ```
16+
17+ # Incorrect Check of Signer Response Norm During Verification
18+
19+ The ML-DSA verification algorithm as specified in [ FIPS 204,
20+ subsection
21+ 6.3] ( https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.204.pdf#subsection.6.3 )
22+ requires verifiers to check that the infinity norm of the deserialized
23+ signer response $z$ does not exceed $\gamma_1 - \beta$ (line 13 of
24+ Algorithm 8).
25+ The same check is required to be performed during signature generation.
26+
27+ libcrux-ml-dsa did not perform this check correctly during signature
28+ verification, accepting signatures with signer response norm above the
29+ allowed maximum value. The check is correctly performed during
30+ signing.
31+
32+ ## Impact
33+ Applications using libcrux-ml-dsa for signature verification would
34+ have accepted signatures that would be rejected by a conforming
35+ implementation.
36+
37+ ## Mitigation
38+ Starting from version ` 0.0.8 ` , signature verification uses the correct
39+ value for $\gamma_1$ in the signer response norm check.
You can’t perform that action at this time.
0 commit comments