GHSA-434v-x5qv-pmh6 All-Zero Key Generation on Catastrophic RNG Failure
A flaw in libcrux-ed25519 allows signature forgery if the CSPRNG fails, generating an all-zero key instead of erroring.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is GHSA-434v-x5qv-pmh6?
GHSA-434v-x5qv-pmh6 is a vulnerability in libcrux-ed25519, published on 4 Mar 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
The libcrux-ed25519 key generation samples Ed25519 secret keys from a provided CSPRNG in a loop for up to 100 attempts until a non-zero key is found. If a non-zero key could not be sampled within 100 attempts the key generation function would silently continue with an all-zero buffer as the secret key.
Impact
This bug only occurs in the event of a catastrophic failure of the CSPRNG, but would allow anyone to forge signatures under the resulting static signing key.
Mitigation
Instead of silently continuing with an all-zero signing key, starting
from version 0.0.7 key generation will error in the case of 100
failed attempts at sampling a valid key.
Which versions are affected by GHSA-434v-x5qv-pmh6?
3 open source packages ship an affected version, including libcrux-ed25519.
| Package | Affected | Fixed in |
|---|---|---|
libcrux-ed25519 crates.io | All versions | 0.0.7 |
libcrux-ed25519 crates.io | All versions | 0.0.7 |
libcrux-ed25519 crates.io | From 0.0.0-0 | 0.0.7 |
How do I fix GHSA-434v-x5qv-pmh6?
Upgrade libcrux-ed25519 to 0.0.7 or later.
Is GHSA-434v-x5qv-pmh6 being exploited?
There is no known exploitation of GHSA-434v-x5qv-pmh6 in the wild and no public exploit code.
Sources
Also known as RUSTSEC-2026-0075.