EspressoSystems / EspressoSystems/espresso-network
RUSTSEC-2026-0012: Unsoundness in opt-in ARMv8 assembly backend for `keccak`
- Dominant language
- Rust
- Stars
- 193
- Forks
- 177
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 60
Description
> Unsoundness in opt-in ARMv8 assembly backend for `keccak`
| Details | |
| ------------------- | ---------------------------------------------- |
| Status | unsound |
| Package | `keccak` |
| Version | `0.1.5` |
| URL | [https://github.com/RustCrypto/sponges/pull/101](https://github.com/RustCrypto/sponges/pull/101) |
| Date | 2026-02-12 |
### 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.
See [advisory page](https://rustsec.org/advisories/RUSTSEC-2026-0012.html) for additional details.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the referenced RustSec advisory and RustCrypto/sponges pull request 101; the issue does not name a repository file, test, or entry point. The advisory says the operand types were changed and affected keccak versions were yanked, so a concrete repository task and completion criteria are still needed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cryptography, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100