libcrux-sha3: Incorrect output from SHAKE squeeze functions
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
The incremental squeeze functions in the portable SHAKE XOF API, when attempting to squeeze more than `RATE` (168 for SHAKE128, 136 for SHAKE256) bytes, performed an additional permutation of the state before producing the first output block, thus discarding the first block of `RATE` bytes of valid XOF output. ## Impact This bug impacts users that rely on this XOF API to squeeze more than `RATE` bytes. It does not impact the use of libcrux-sha3 in libcrux-ml-kem or libcrux-ml-dsa. ## Mitigation Starting from version `0.0.8` the squeeze functions correctly output all blocks including the first block.
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 |
|---|---|---|---|---|---|
| — | libcrux-sha3 (crates.io) | before 0.0.8 | 0.0.8 | Patch available | GHSA-q29p-9pfr-j652 |
- libcrux-sha3 (crates.io) Vendor— Affected before 0.0.8 Fixed in 0.0.8 Patch available GHSA-q29p-9pfr-j652
Remediation
- Fix · GHSA-q29p-9pfr-j652 libcrux-sha3 (crates.io) Fixed in 0.0.8 Advisory →
Timeline
- 2026-10-03 Threatist record created from GHSA-q29p-9pfr-j652
References
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences