暗号ライブラリ「CryptoJS」の脆弱性が原因で570万ドルが流出、5つの暗号資産ウォレットに影響
要点
-
JavaScriptの暗号ライブラリ「CryptoJS」の旧バージョンに脆弱な乱数生成器が含まれており、これに起因する資産流出が判明した。
-
セキュリティ企業Coinspectの分析により、この脆弱性を悪用した資産流出被害で少なくとも約570万ドルが盗まれたことが確認された。
-
影響を受けた具体的な暗号資産ウォレットとして、「RRWallet」「Bexo Wallet」「NanChat」「Bitcoin Libre」「Milo」の5つが特定された。
-
脆弱な関数で生成された復旧フレーズは強度が大幅に低下しており、一般的なコンピュータでも総当たりで推測可能な状態だった。
-
対象ウォレットの旧バージョンで作成された復旧フレーズは安全にできないため、ユーザーは新規ウォレットへの資産移動が必要となる。
-
暗号資産(仮想通貨)ウォレットのセキュリティを揺るがす深刻な脆弱性と、それに伴う多額の資産流出の実態が明らかになった。ブロックチェーンセキュリティ企業のCoinspectは2026年8月6日、JavaScriptの暗号ライブラリ「CryptoJS」の古いバージョンに存在していた脆弱性が原因で、少なくとも約570万ドルの資産が流出したと発表した。同社はこの脆弱性の影響を受けた5つのウォレットアプリの具体的な名前を公表し、注意を呼びかけている。
570万ドルの流出被害をもたらした「Ill Bloom」攻撃
Coinspectは、この脆弱な乱数生成器の悪用による資産流出を「Ill Bloom」(イル・ブルーム)と名付け、オンチェーン分析(ブロックチェーン上の取引データを分析すること)を進めてきた。同社によれば、2026年5月下旬以降の2回の攻撃で、少なくとも569万922ドル(約570万ドル)が流出した。
5月27日の1回目で約314万ドル、5月30日〜7月13日の2回目で約255万ドルが盗まれた。同社はBitcoinやEthereum、Tronなどのネットワークで計2,114個の復旧フレーズ(ウォレットを復旧するための英単語)を追跡しており、被害者は数千人に達する可能性がある。
影響が確認された5つのウォレットアプリ
Coinspectは、復旧フレーズ生成時にこの乱数生成器を使用していた具体的なウォレットとして、RRWallet、Bexo Wallet、NanChat、Bitcoin Libre、Miloの5つを挙げた。このうちRRWalletとMiloは提供終了、Bexo Wallet、NanChat、Bitcoin Libreはそれぞれ特定のバージョンで修正済み、または修正予定だという。
同社は、検証が困難な古いアプリ等があるため、影響を受けたウォレットはこれらに留まらない可能性があると警告している。
暗号強度を大幅に低下させる脆弱性のメカニズム
原因は、CryptoJSの CryptoJS.lib.WordArray.random() 関数にある。通常、復旧フレーズは128か256ビットのエントロピー(乱数の不規則性の度合いを示す指標)を持ち推測不能だが、この関数を使うと探索空間が大幅に縮小し、一般的なコンピュータでも総当たりで容易に推測可能な状態になっていた。
Coinspectは出力を全探索してBIP39規格のフレーズにし、アドレスを導出してブロックチェーンデータと照合する攻撃を再現した。React Native用フォークパッケージ「ferrumnet/bip39」が、本家の安全な乱数生成機能をCryptoJSに置き換えていたことなどが混入経路の一例だ。
12年にわたるCryptoJSの歴史と脆弱性の再導入
この問題の背景にはCryptoJSの開発経緯がある。2014年6月に導入された乱数生成器は、バージョン3.2.0および3.2.1で一度は安全なネイティブ暗号乱数に変更された。しかし、バージョン3.3.0で既存動作を壊す変更とみなされ、脆弱なコードへ差し戻された。その結果、3.x内でのアップデートにより再び脆弱な状態になるプロジェクトが生じた。最終的に2020年のバージョン4.0.0でネイティブの暗号乱数が永続的に復活した。
2026年8月5日、メンテナーのEvan Vosberg氏は深刻度「Critical(緊急)」、CVSSスコア「9.0」のアドバイザリを公開した。
ユーザーに必要な対応
一度この脆弱な関数で作成された復旧フレーズは、その後にハッシュ化(データを不規則な文字列にする処理)などの暗号処理を行っても安全性を回復できない。
影響のあるバージョンでフレーズを作成したユーザーは、たとえそれをハードウェアウォレットで使っていても安全ではない。該当者は安全な環境で新たな復旧フレーズを作成し、資産を速やかに移動させる必要がある。なお、ハードウェアウォレット単体で生成されたシード等は影響を受けない。