A AegiFlow
HIGHCVSS 8.8

GHSA-2cgv-28vr-rv6j

libcrux incorrectly calculates on aarch64

Published
2025-12-04
Modified
2026-08-21
Sources
github-advisory

Summary

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.

Affected packages

EcosystemPackageAffected versionsFixed versions
rustlibcrux-intrinsics0.0.4
rustlibcrux-ml-dsa0.0.4
rustlibcrux-ml-kem0.0.4

Remediation: Upgrade to 0.0.4 or later.

References

Includes data from the GitHub Advisory Database, licensed under CC-BY 4.0.