GitHub Advisoryadvisory · crates.io

GHSA-3288-p39f-rqpv Unsoundness in opt-in ARMv8 assembly backend for `keccak`

LOW Published 2026-02-19 Modified 2026-02-19 Official page ↗
Ecosystem
crates.io
Packages
keccak
Severity
Low
CVSS vector
CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:U
Weaknesses
CWE-758
Reviewed
2026-02-19

Affected packages

• crates.io keccak: < 0.1.6 → fixed in 0.1.6

Description

Summary The `asm!` block enabled by the off-by-default `asm` feature, when enabled on ARMv8 targets, misspecified the operand type for all of its operands, using `in` for pointers and values which were subsequently mutated by operations performed within the assembly block. Impact It's unclear what practical impact, if any, this actually had. Incorrect operand types are technically undefined behavior, however changing them had no actual impact on the generated assembly for these targets. The possibility still exists that it may lead to potential memory safety or other issues on hypothetical future versions of rustc. Mitigation The operand types were changed from `in` to `inout`, and the impacted versions of the `keccak` crate were yanked.

Related

Weakness · CWE (1)

  • CWE-758 Reliance on Undefined, Unspecified, or Implementation-Defined Behavior weakness

References