Executive brief
libcrux is a cryptographic library used for quantum-resistant encryption and digital signatures. On certain ARM64 processors, version 0.0.3 contained a calculation error that produced incorrect cryptographic outputs—corrupting encrypted shared secrets and invalidating digital signatures. Applications relying on this library would fail security checks or expose encrypted data to compromise.
Technical details
The vulnerability is a cryptographic calculation error (CWE-327) in the ARM64 fallback implementation of the vxarq_u64 intrinsic within libcrux-intrinsics. On aarch64 platforms without native vxarq_u64 support, the fallback function passed incorrect operands to shift operations, producing corrupted results. This affected SHA-3 digest computation and cryptographic sampling in ML-KEM (key encapsulation) and ML-DSA (digital signature) modules, yielding incorrect shared secrets and invalid signatures. The attack is network-accessible with no authentication or user interaction required (CVSS 8.8, vector AV:N/AC:L/AT:N/PR:N/UI:N). The fix was applied in libcrux-intrinsics v0.0.4.
Affected products
- cryspen libcrux-intrinsics 0.0.3
- cryspen libcrux-ml-kem 0.0.3
- cryspen libcrux-ml-dsa 0.0.3
Timeline
- 2025-12-04: disclosed: Published to GitHub Advisory Database
- 2025-11-03: patched: Fix merged in PR #1222; version 0.0.4 released