Unsoundness in opt-in ARMv8 assembly backend for `keccak`
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- —
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub.
Summary
### 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.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | keccak (crates.io) | before 0.1.6 | 0.1.6 | Patch available | GHSA-3288-p39f-rqpv |
- keccak (crates.io) Vendor— Affected before 0.1.6 Fixed in 0.1.6 Patch available GHSA-3288-p39f-rqpv
Remediation
- Fix · GHSA-3288-p39f-rqpv keccak (crates.io) Fixed in 0.1.6 Advisory →
Timeline
- 2026-10-03 Threatist record created from GHSA-3288-p39f-rqpv
References
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences