Unsound LowRUSTSEC-2026-0012 · keccak
RUSTSEC-2026-0012: Unsoundness in opt-in ARMv8 assembly backend for `keccak`
Short answerkeccak has an API that can cause undefined behaviour from safe code: Unsoundness in opt-in ARMv8 assembly backend for `keccak`. Fixed in 0.1.6.
| Crate | keccak |
|---|---|
| Type | Unsound (crypto-failure) |
| Affected versions | Before 0.1.6. |
| Fixed in | 0.1.6 |
| Severity | Low (GitHub rating) |
| Published | 2026-02-12 |
| Last changed | 2026-02-20 |
| Also known as | GHSA-3288-p39f-rqpv |
What to do
- See which version you have:
cargo tree -i keccak(it also shows which of your dependencies pulls it in). - Update within your version requirement:
cargo update -p keccak. If the fix is a newer major or minor than your requirement allows, raise it in Cargo.toml (for examplekeccak = "0.1.6") or update the dependency that pulls it in. - Check again with
cargo audit, or paste your Cargo.lock into our Cargo.toml checker.
Details from the advisory
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.
References
- Package: crates.io/crates/keccak
- Advisory: rustsec.org/advisories/RUSTSEC-2026-0012.html
- Web: github.com/RustCrypto/sponges/pull/101
From the RustSec Advisory Database (CC0-1.0) via the OSV export, downloaded Oct 24, 2026. Severity score computed from the published CVSS vector.
Up next
Same cratekeccak: security historyEvery advisory for this crate, and whether it is safe to use today.Read it next →Did this answer your question?