GHSA-2cgv-28vr-rv6j libcrux incorrectly calculates on aarch64
Incorrect SHA-3 and post-quantum crypto calculations on aarch64 lead to invalid signatures and shared secrets, compromising cryptographic integrity.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is GHSA-2cgv-28vr-rv6j?
GHSA-2cgv-28vr-rv6j is a vulnerability in libcrux-intrinsics, published on 4 Dec 2025. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official 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.
Which versions are affected by GHSA-2cgv-28vr-rv6j?
7 open source packages ship an affected version, including libcrux-intrinsics, libcrux-ml-dsa and libcrux-ml-kem.
| Package | Affected | Fixed in |
|---|---|---|
libcrux-intrinsics crates.io | From 0.0.3 | 0.0.4 |
libcrux-intrinsics crates.io | From 0.0.3 | 0.0.4 |
libcrux-intrinsics crates.io | From 0.0.4-0 | 0.0.4 |
libcrux-ml-dsa crates.io | From 0.0.3 | 0.0.4 |
libcrux-ml-dsa crates.io | From 0.0.3 | 0.0.4 |
libcrux-ml-kem crates.io | From 0.0.3 | 0.0.4 |
1 more packages
libcrux-ml-kem crates.io | From 0.0.3 | 0.0.4 |
How do I fix GHSA-2cgv-28vr-rv6j?
Upgrade libcrux-intrinsics to 0.0.4 or later.
Is GHSA-2cgv-28vr-rv6j being exploited?
There is no known exploitation of GHSA-2cgv-28vr-rv6j in the wild and no public exploit code.
Sources
Also known as RUSTSEC-2025-0133.