GitHub Advisoryadvisory · crates.io
GHSA-2cgv-28vr-rv6j libcrux incorrectly calculates on aarch64
HIGH
Official page ↗
- Ecosystem
- crates.io
- Packages
- libcrux-intrinsics, libcrux-ml-kem, libcrux-ml-dsa
- Severity
- High
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
- Weaknesses
- CWE-200, CWE-327
- Reviewed
- 2025-12-04
Affected packages
• crates.io libcrux-intrinsics: >= 0.0.3, < 0.0.4 → fixed in 0.0.4
• crates.io libcrux-ml-kem: >= 0.0.3, < 0.0.4 → fixed in 0.0.4
• crates.io libcrux-ml-dsa: >= 0.0.3, < 0.0.4 → fixed in 0.0.4
Description
On platforms without the `core::arch::aarch64::vxarq_u64` intrinsic, an unverified fallback in `libcrux-intrinsics` v0.0.3
passed incorrect arguments and produced wrong results. This corrupted SHA-3 digests and caused `libcrux-ml-kem` and
`libcrux-ml-dsa` to sample incorrectly, yielding incorrect shared secrets and invalid signatures.
The issue has been fixed in v0.0.4.