CryptoJS Weak RNG Behind $5.7 Million in Drains Affects Five Crypto Wallet Apps
Summary
A weak random number generator in the CryptoJS JavaScript library, specifically CryptoJS.lib.WordArray.random(), has been identified as the cause of significant drains from five cryptocurrency wallet applications. This vulnerability, present for 12 years, provided insufficient entropy for generating recovery phrases, leading to an estimated $5.7 million in stolen funds.
IFF Assessment
The identified vulnerability in a widely used cryptography library allowed for significant financial loss in cryptocurrency, making it bad news for defenders.
Severity
The vulnerability affects the generation of critical security elements (recovery phrases) with weak entropy, leading to direct financial loss. This has a high attack complexity and significant impact, meriting a high CVSS score.
Defender Context
This incident highlights the critical importance of robust random number generation in cryptographic libraries, especially those used in financial applications like crypto wallets. Defenders should be vigilant about auditing third-party libraries for cryptographic weaknesses and implementing continuous monitoring for unusual transaction patterns that could indicate compromised seed phrases.