GHSA-2cgv-28vr-rv6j: Libcrux intrinsics Libcrux Incorrectly Calculates On Aarch64 Vulnerability
HIGHGHSA-2cgv-28vr-rv6j is a HIGH libcrux incorrectly calculates on aarch64 vulnerability (CWE-327: Use of a Broken or Risky Cryptographic Algorithm) affecting Libcrux intrinsics libraries in the crates.io ecosystem. The issue involves libcrux incorrectly calculates on aarch64. Remediation is available by upgrading affected packages to version 0.0.4.
GHSA-2cgv-28vr-rv6j at a Glance
How to Fix GHSA-2cgv-28vr-rv6j
To remediate this vulnerability, upgrade all affected Libcrux intrinsics dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade libcrux-intrinsics to 0.0.4
Upgrade libcrux-ml-kem to 0.0.4
Upgrade libcrux-ml-dsa to 0.0.4
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for libcrux-intrinsics
How to Check if You Are Affected
To determine whether your application is affected by GHSA-2cgv-28vr-rv6j, inspect your project dependencies for Libcrux intrinsics:
inspect dependencies for libcrux-intrinsics
Analyze the terminal output to locate any version of Libcrux intrinsics in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 0.0.4), your application is affected.
Note: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-327: Use of a Broken or Risky Cryptographic Algorithm, where the product uses a broken or risky cryptographic algorithm or protocol. In Libcrux intrinsics, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
GHSA-2cgv-28vr-rv6j Affected Libcrux intrinsics Versions
3 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
libcrux-intrinsics
|
crates.io |
≥ 0.0.3
< 0.0.4
All 1 versions
0.0.3
|
0.0.4
|
|
libcrux-ml-kem
|
crates.io |
≥ 0.0.3
< 0.0.4
All 1 versions
0.0.3
|
0.0.4
|
|
libcrux-ml-dsa
|
crates.io |
≥ 0.0.3
< 0.0.4
All 1 versions
0.0.3
|
0.0.4
|
References
Frequently Asked Questions
What is GHSA-2cgv-28vr-rv6j?
Which Libcrux intrinsics versions are affected?
What version fixes GHSA-2cgv-28vr-rv6j?
Is libcrux-intrinsics affected?
Is libcrux-ml-kem affected?
What CWE is associated with GHSA-2cgv-28vr-rv6j?
How can I check crates.io dependencies for GHSA-2cgv-28vr-rv6j?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-2cgv-28vr-rv6j",
"modified" : "2026-02-17T22:00:42Z",
"published" : "2025-12-04T17:24:23Z",
"aliases" : [ ],
"summary" : "libcrux incorrectly calculates on aarch64",
"details" : "On platforms without the `core::arch::aarch64::vxarq_u64` intrinsic, an unverified fallback in `libcrux-intrinsics` v0.0.3\npassed incorrect arguments and produced wrong results. This corrupted SHA-3 digests and caused `libcrux-ml-kem` and\n`libcrux-ml-dsa` to sample incorrectly, yielding incorrect shared secrets and invalid signatures.\n\nThe issue has been fixed in v0.0.4.",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "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"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "crates.io",
"name" : "libcrux-intrinsics"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0.0.3"
}, {
"fixed" : "0.0.4"
} ]
} ],
"versions" : [ "0.0.3" ]
}, {
"package" : {
"ecosystem" : "crates.io",
"name" : "libcrux-ml-kem"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0.0.3"
}, {
"fixed" : "0.0.4"
} ]
} ],
"versions" : [ "0.0.3" ]
}, {
"package" : {
"ecosystem" : "crates.io",
"name" : "libcrux-ml-dsa"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0.0.3"
}, {
"fixed" : "0.0.4"
} ]
} ],
"versions" : [ "0.0.3" ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/cryspen/libcrux/issues/1220"
}, {
"type" : "WEB",
"url" : "https://github.com/cryspen/libcrux/pull/1222"
}, {
"type" : "WEB",
"url" : "https://github.com/cryspen/libcrux/commit/8d10f45631afd1d93fabb2278dbb388a075b5608"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/cryspen/libcrux"
}, {
"type" : "WEB",
"url" : "https://rustsec.org/advisories/RUSTSEC-2025-0133.html"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-200", "CWE-327" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2025-12-04T17:24:23Z",
"nvd_published_at" : null
}
}