Vulnerability CriticalRUSTSEC-2019-0019 · blake2
RUSTSEC-2019-0019: HMAC-BLAKE2 algorithms compute incorrect results
Short answerA security vulnerability in the blake2 crate: HMAC-BLAKE2 algorithms compute incorrect results. Critical severity (CVSS 9.8). Fixed in 0.8.1: update to a fixed version.
| Crate | blake2 |
|---|---|
| Type | Vulnerability (crypto-failure) |
| Affected versions | Before 0.8.1. |
| Fixed in | 0.8.1 |
| Severity | Critical, CVSS 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Published | 2019-08-25 |
| Last changed | 2023-11-08 |
| Also known as | CVE-2019-16143, GHSA-4x25-pvhw-5224 |
What to do
- See which version you have:
cargo tree -i blake2(it also shows which of your dependencies pulls it in). - Update within your version requirement:
cargo update -p blake2. If the fix is a newer major or minor than your requirement allows, raise it in Cargo.toml (for exampleblake2 = "0.8.1") 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
When used in conjunction with the Hash-based Message Authentication Code (HMAC), the BLAKE2b and BLAKE2s implementations in blake2 crate versions prior to v0.8.1 used an incorrect block size (32-bytes instead of 64-bytes for BLAKE2s, and 64-bytes instead of 128-bytes for BLAKE2b), causing them to miscompute the MacResult.
The v0.8.1 release of the blake2 crate uses the correct block sizes.
Note that this advisory only impacts usage of BLAKE2 with HMAC, and does not impact Digest functionality.
References
- Package: crates.io/crates/blake2
- Advisory: rustsec.org/advisories/RUSTSEC-2019-0019.html
- Report: github.com/RustCrypto/MACs/issues/19
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 crateblake2: security historyEvery advisory for this crate, and whether it is safe to use today.Read it next →Did this answer your question?