Skip to content

Commit 35658e8

Browse files
Add advisory for libcrux-ed25519
1 parent d09cbd7 commit 35658e8

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
```toml
2+
[advisory]
3+
id = "RUSTSEC-0000-0000"
4+
package = "libcrux-ed25519"
5+
date = "2026-03-04"
6+
cvss = "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N"
7+
url = "https://github.com/cryspen/libcrux/pull/1349"
8+
9+
[affected.functions]
10+
"libcrux_ed25519::generate_key_pair" = [ "<= 0.0.6" ]
11+
12+
[versions]
13+
patched = [">= 0.0.7 "]
14+
```
15+
16+
# All-Zero Key Generation on Catastrophic RNG Failure
17+
18+
The libcrux-ed25519 key generation samples Ed25519 secret keys from a
19+
provided CSPRNG in a loop for up to 100 attempts until a non-zero key
20+
is found. If a non-zero key could not be sampled within 100 attempts
21+
the key generation function would silently continue with an all-zero buffer as
22+
the secret key.
23+
24+
## Impact
25+
This bug only occurs in the event of a catastrophic failure of the
26+
CSPRNG, but would allow anyone to forge signatures under the resulting
27+
static signing key.
28+
29+
## Mitigation
30+
Instead of silently continuing with an all-zero signing key, starting
31+
from version `0.0.7` key generation will error in the case of 100
32+
failed attempts at sampling a valid key.

0 commit comments

Comments
 (0)