2015年からXRPレジャーの決済エンジンに潜んでいた欠陥により、本来の発行上限である1,000億XRPを超えて、実際に利用可能なXRP** (XRP) をミントできた可能性があったと、開発者が明らかにした。**
重要ポイント
- AIセキュリティツールを用いる研究者が、9月22日にバグバウンティプログラム経由でオーバーフロー不具合を報告。
- 開発チームは3日後に修正をリリースし、約10年ぶりにバリデータ投票プロセスをスキップ。
- メンテナーは、当該脆弱性が実際に悪用された痕跡は見つからなかったと説明。
XRP「偽造」バグの中身
XRPレジャーのメンテナーは10月9日、脆弱性報告を公表し、9月22日に研究者からバグバウンティ経由で指摘を受けていたと明かした。Rippleの開発部門であるRippleXは、検証の結果、攻撃を再現できたとして、この欠陥を「クリティカル(重大)」に分類した。チームは、過去にこのバグを悪用した形跡は確認できなかったとしている。
問題があったのは決済エンジン部分で、複数のオーダーブック注文をまとめて1回の決済で約定させる際、買い手が支払う総額を算出するロジックが、未検査の64ビット整数演算に頼っていた。
意図的に不自然な価格を付けたオファーを大量に並べることで、この合計値を上限値まで押し上げ、オーバーフローさせて極端に小さい値に巻き戻すことが可能だった。その結果、売り手には本来どおりの支払いが行われる一方で、買い手はほとんど支払わずに済んでしまう。新規XRPの発行を監視するレジャー側の安全チェックも同じ算術処理を使っていたため、こうした「偽造」XRPを検知できなかったとされる。
関連記事: GPT-6.1 Sol が Asana のエージェントコストを76分の1に削減、ただし落とし穴も
カイデン・リャオ氏が語る発見経緯
セキュリティ企業Veria Labsの共同創業者であるCayden Liao(カイデン・リャオ)氏は、同社のAIエージェントがこのバグを検知し、実証的なエクスプロイトコードまで構築したと、Xへの投稿で説明した。同氏の試算では、1回のトランザクションで約18兆XRPをミントできた可能性があるという。
リャオ氏は、このバグが長年見過ごされてきた理由として、「それぞれ単体では重大度が低いと見なされがちな2つの不具合が連鎖して初めて致命的な問題になる構造だった」点を挙げる。
RippleはVeria Labsに対し、同社のバグバウンティプログラムで定める上限額である25万ドルの報奨金を支払ったという。RippleXのエンジニアリング部門を率いるJ. Ayo Akinyele(J・アヨ・アキンイェレ)氏は、今後AIを活用したバグ探索や形式手法検証の適用範囲を拡大していく方針を示し、「AIは脆弱性発見のスピードを本質的に変えつつある」とコメントした。
XRPL、異例の「緊急パッチ」
問題の修正は、報告からわずか3日後の9月25日にリリースされたxrpldバージョン3.4.1に含まれた。同日中に信頼済みバリデータの8割超がアップグレードを完了し、通常は2週間かけて行う改定(アメンドメント)投票プロセスを経ずに有効化された。定例のプロセスを飛ばすのは、約10年ぶりの異例対応となる。
開発側は、通常どおりオープンソースとして改定コードを事前公開すると、パッチが有効になるまでの数週間、攻撃者に脆弱性の存在を知らせてしまうことになると指摘し、「安全性を優先した決断だった」と説明している。
暗号資産業界では、同種のオーバーフロー/偽造問題が過去にも発生している。2010年にはBitcoin (BTC) のオーバーフローバグにより、1回のトランザクションで1840億枚超のビットコインが「生成」される事案が発生。開発者は数時間以内に修正し、問題の取引をなかったことにするチェーンのフォークを行った。
プライバシー通貨Zcash (ZEC) も今年、偽造を可能にする脆弱性への緊急パッチを余儀なくされ、その過程でトークン価格が大きく下落した。
あわせて読みたい: フランスの暗号資産保有者、未申告ウォレットで最大1万ユーロの罰金リスク

