GitHub Advisoryadvisory · crates.io
GHSA-3288-p39f-rqpv Unsoundness in opt-in ARMv8 assembly backend for `keccak`
LOW
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