CryptoJS 弱随机数生成器导致 570 万美元被窃,影响五款加密钱包应用
导语:区块链安全公司 Coinspect 已正式确认,12 年前引入的 CryptoJS.lib.WordArray.random() 函数因熵源过弱,成为 Ill Bloom 钱包资金被盗事件的根源。该弱点已影响五款加密钱包应用,实测被盗金额下限约为 570 万美元。
Coinspect 已确认 CryptoJS.lib.WordArray.random() 是导致 Ill Bloom 钱包资金被盗事件的弱随机数生成器。该函数 12 年前被引入这个 JavaScript 加密库,提供弱熵,被用于生成助记词的钱包应用所采用。Coinspect 的链上分析显示,自 5 月底以来的两轮攻击所造成的实测盗窃金额下限约为 570 万美元。
这家区块链安全公司在 7 月创造了 Ill Bloom 这一名称,如今已确认有五款应用程序曾将该生成器用作助记词生成的熵来源。这五款钱包与 Coinspect 7 月份在未具名情况下提及的是同一批。Coinspect 告诉 The Hacker News,其中一款浏览器扩展的厂商已告知该扩展已停止开发且从未广泛使用。Coinspect 警告说,无法确认已识别出每一个受影响的漏洞钱包。其他受影响的移动或浏览器扩展钱包可能也曾存在,但由于已从应用商店或扩展市场上被下架,或厂商已用已修复版本替换而旧版本不再可获取,因此无法对其进行检测。
公开披露并未提供 RRWallet、Bexo、Bitcoin Libre 或 Milo 的完整受影响版本范围。更新应用并不能修复已生成的助记词。在受影响版本下生成的助记词,无论被导入到何处(包括硬件钱包),都依然可被猜测。若助记词源自受影响路径的用户,需要以安全方式创建新的助记词并转移资金。Coinspect 表示,硬件生成的种子和大多数现有软件钱包不受影响。
Coinspect 分析了 128 位和 256 位熵。理论上它们应分别产生 2^128 和 2^256 的搜索空间,但该存在漏洞的生成器将其缩减为约 2^39 和 2^47,已足够小到可在普通硬件上进行枚举。该公司通过枚举输出、将其转换为 BIP39 助记词、派生地址,并与公共区块链数据进行比对,重现了整个攻击链。

该库曾修复过此问题,但随后又撤回了修复。Multiply-With-Carry 生成器以 Math.random() 作为种子,于 2014 年 6 月加入。3.2.0 和 3.2.1 版本切换到原生加密随机数,但 3.3.0 版本因该更改被视为破坏性变更而恢复了存在漏洞的代码。因此,在 3.x 范围内的升级可能将项目从已修复版本带入存在漏洞的版本。4.0.0 版本于 2020 年 2 月永久恢复了原生随机数。
Coinspect 指出 ferrumnet/bip39——一个将上游 bip39 原生加密随机数替换为 CryptoJS 的 React Native 分支——是进入钱包软件的路径之一,但并非唯一路径。CryptoJS 维护者 Evan Vosberg 于 8 月 5 日发布了 GHSA-rg76-677x-56q9,评级为 Critical,CVSS 得分为 9.0。尽管存在 3.2.0 和 3.2.1 的例外,其 package 字段仍列出了 4.0.0 以下的所有版本。该公告指出,只有当应用程序使用该存在漏洞的函数生成安全敏感值时才会受到影响。仅携带该依赖并不满足这一条件,因此包范围比可被利用的应用程序集合更广。一旦助记词已由该函数的输出生成,后续的哈希或 PBKDF2 处理无法恢复缺失的熵,事后更新包版本也无法修复。
Coinspect 表示该漏洞已被利用于两轮资金盗窃。5 月 27 日的一轮扫荡从 431 个账户中窃取了约 314 万美元。5 月 30 日至 7 月 13 日之间的第二轮从与 522 个种子关联的地址中窃取了 255 万美元,其中包括 7 月 4 日从一个 Tron 账户中窃取的约 218 万 USDT。后续分析追踪了横跨 Bitcoin、Ethereum、Tron、Rootstock 和 Polygon 的 2,114 个已识别种子及其关联地址。综合分析显示,截至 7 月 13 日的实测损失为 5,690,922 美元,Coinspect 将其描述为下限。
Coinspect 根据区块链数据估计,受影响的用户群体在 EVM 兼容网络和 Bitcoin 上达数千人,但未提供逐钱包明细。截至 8 月 6 日,NanChat 是唯一被发现已发布公开公告的具名应用程序。Coinspect 告诉 The Hacker News,Bexo 的 20.1.0 修复并不针对特定平台,但更新后的构建版本尚未上传。The Hacker News 在 8 月 6 日查看了 Bexo 的官方商店记录:Apple App Store 列出的当前 iPhone 版本为 18.3.5,Google Play 显示 5 月 20 日有一项 Android 更新但未提供公开版本号。在审查时,两家商店的列表均未确认 20.1.0 版本可供下载。
来源信息
来源:The Hacker News
原文链接:https://thehackernews.com/2026/08/cryptojs-weak-rng-behind-57-million-in.html
作者:info@thehackernews.com (The Hacker News)

