5.0 KiB
5.0 KiB
title | layout | permalink |
---|---|---|
/summary | home | /index.html |
Milk Sad Disclosure
A practical explanation of how weak entropy can ruin your day - and your savings.
Vulnerability CVE-2023-39910
- We discovered a cryptographic weakness in the widely utilized
Libbitcoin Explorer
(bx
) cryptocurrency wallet tool while following up on mysterious wallet thefts. - The
bx seed
subcommand for generation of new wallet private key entropy is flawed and produces insecure output. - On
Libbitcoin Explorer
3.x
versions,bx seed
uses the Mersenne Twister pseudorandom number generator (PRNG) initialized with 32 bits of system time. - Bad actors have discovered this flaw and are actively exploiting it to steal funds from affected wallets on multiple blockchains.
- We have reasons to believe some
Libbitcoin Explorer
versions before3.0.0
also produce weakbx seed
output in some system environments. - Think of this as securing your online bank account with a password manager that creates a long random password, but it often creates the same passwords for every user. Malicious people have figured this out and drained funds on any account they can find.
How?
Mastering Bitcoin - Second Edition by Andreas M. Antonopoulos LLC is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
When?
The main theft occurred around 12 July 2023, although initial exploitation likely began at a smaller scale in May 2023.
A separate but similar vulnerability in another wallet software was detected in November 2022 and actively exploited shortly after, which may be the prequel to this story.
Who?
We did not identify who is behind the ongoing thefts from vulnerable wallets.
Type
CWE-338: Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)
Vendor
Further Reading
See our technical writeup and FAQ.
CVE-2023-31290 was a similar vulnerability in Trust Wallet, see Ledger Donjon's technical writeup.
Contact
- General requests and comments: email team@milksad.info
- Press: email press@milksad.info
Team & Credits
{% include credits.html %}