BLAKE2b produces wrong tag when using `reset()` with a different-length key
Exact source revision recorded 30 Oct 2026 11:49:33 UTC. It does not establish the source's current position. Latest evidence.
osv · RUSTSEC-2026-0428
Published## Summary `hazardous::mac::blake2b::Blake2b::reset()` does not correctly reset the state when a key is supplied that has a different length than the one used upon initialization with `hazardous::mac::blake2b::Blake2b::new()`, because it errorneously uses a cached length. ## Impact Initialization `hazardous::mac::blake2b::Blake2b` with a key of some length `N`, followed by a reset with a key of length `!= N` will produce an incorrect BLAKE2b tag, causing `hazardous::mac::blake2b::Blake2b::verify()` to fail. This means under honest protocol conditions, parties could experience failing tag verifications. ## Resolution Upgrade to `v0.17.16` or `v0.18.1`.
- Source published
- 30 Oct 2026 12:00:00 UTC
- Source modified
- 30 Oct 2026 11:15:02 UTC
- Observed here
- 30 Oct 2026 11:49:33 UTC
- Source terms
- OSV · upstream source license applies
Original source record · Cite this exact observation · Complete original publisher JSON
This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: osv · OSV · upstream source license applies. Source text is retained; field grouping and change labels are provided by ChangeIntel.