RUSTSEC-2026-0329 Auto-Reseeding HMAC-DRBG could panic for some output lengths
Applications using libcrux-hmac-drbg may panic when requesting specific large output lengths, causing a denial of service.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Not stated
- Victim action needed
- Not needed
- Fix
- Available
What is RUSTSEC-2026-0329?
RUSTSEC-2026-0329 is a denial of service vulnerability in libcrux-hmac-drbg, published on 3 Aug 2026.
Official description
The automatically reseeding implementations of HMAC-DRBG would panic if called with a desired non-zero output length cleanly divisible by 65_536, the maximum number of output bytes that can be generated before reseeding has to happen.
Impact
An application relying on libcrux-hmac-drgb to provide randomness of byte length a non-zero integer multiple of 65_536 in a single call to fill_bytes would panic.
Any calls with output buffer lengths not cleanly divisible by 65_536 are not affected.
Mitigation
With release the release of version 0.0.2 of libcrux-hmac-drbg this bug has been fixed and reseeding DRBG implementations can be used with arbitrary output lengths.
We recommend users upgrade to libcrux-hmac-drbg version 0.0.2.
Which versions are affected by RUSTSEC-2026-0329?
1 open source package ship an affected version, including libcrux-hmac-drbg.
| Package | Affected | Fixed in |
|---|---|---|
libcrux-hmac-drbg crates.io | From 0.0.0-0 | 0.0.2 |
How do I fix RUSTSEC-2026-0329?
Upgrade libcrux-hmac-drbg to 0.0.2 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is RUSTSEC-2026-0329 being exploited?
There is no known exploitation of RUSTSEC-2026-0329 in the wild and no public exploit code.