GitHub Advisoryadvisory · crates.io

GHSA-2cgv-28vr-rv6j libcrux incorrectly calculates on aarch64

HIGH Published 2025-12-04 Modified 2026-02-17 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.

Related

Weakness · CWE (2)

  • CWE-200 Exposure of Sensitive Information to an Unauthorized Actor weakness
  • CWE-327 Use of a Broken or Risky Cryptographic Algorithm weakness

References