リップルは2026年3月23日に、2025年6月に発見されたXRPレジャー(XRPL)の2つの脆弱性に関する脆弱性開示レポートを公開しました。これらの脆弱性は、ユニークノードリスト(UNL)のバリデーターが侵害された場合、ネットワークの合意形成を妨げる可能性がありました。
これらの脆弱性は、ブロックチェーンセキュリティ企業のCommon Prefixによって報告され、2025年12月9日にリリースされたrippldバージョン3.0.0で修正されました。修正は2025年10月にテストおよび検証済みです。この開示は責任ある情報開示のプロトコルに従い、技術的な根本原因、影響シナリオ、およびネットワークの可用性を保護するために実施された対策を概説しています。
Common PrefixのNikolaos Kamarinakis氏が2025年6月9日に責任ある開示提出を通じて脆弱性を報告しました。リップルのエンジニアリングチームは、独立した証明実験により、別のテストネット上で両方のバグを再現し、報告内容を検証しました。
これらの脆弱性は、XRPレジャーを動かすソフトウェアクライアントrippldのバージョン2.6.2までに影響し、両方の修正はrippld 3.0.0に組み込まれました。
これらの脆弱性は、合意形成に参加する約35の信頼されたノードの一つであるUNLバリデーターが侵害される必要がありました。UNLバリデーターの侵害は、これらのノードが通常プロキシノードの背後に隠れ、これらのノードとだけ通信するため、難しいとされていますが、研究者は不可能ではないと指摘しています。
もし悪用された場合、侵害されたバリデーターは取引セット内の取引データを操作し、他のバリデーターが直接受信した変更されたメッセージによりクラッシュさせることが可能です。こうしたクラッシュは、侵害されたバリデーターがUNLから除外されるまで繰り返し発生し、ネットワークの合意形成を停止させる可能性があります。
最初の脆弱性は、バリデーターが合意形成中に取引セットを比較する方法に起因します。バリデーターが他のバリデーターから取引セットを受け取ると、そのセットと自分のセットを比較し、異議のある取引を特定します。侵害されたバリデーターは、実際には存在しない取引がSHAMap内のノードにあると虚偽の主張を行うことができました。悪意のある取引セットを受け取ったバリデーターは、無効なノードIDを使って取引IDを検索しようとするとクラッシュします。
2つ目の脆弱性は、異議のある取引のリレー機構を悪用したものです。侵害されたバリデーターは、取引データが任意のハッシュである取引セットを送信できます。受信したバリデーターはこれを異議のある取引と識別し、リレーしようとすると、擬似取引かどうかを確認するための検査を行います。この検査中に、取引セット内の無効なデータによりバリデーターがクラッシュします。
最初の脆弱性に対処するため、開発者は提案された取引が指定されたノード内に存在することを確認する追加の検査を導入しました。2つ目の脆弱性については、悪意のある取引を検査する際に例外が発生した場合に対応できるtry-catchハンドラーを追加しました。
リップルは、修正を適用したrippldの改良版をテストプラットフォームに展開し、侵害されたUNLバリデーターを模擬しました。修正前は、悪意のあるメッセージを受信したすべてのノードがクラッシュしていましたが、修正後は操作されたメッセージを受信したノードはクラッシュしなくなりました。
リップルは、未リリースコードのセキュリティ監査の拡大、AI支援によるコードレビュー、ハッカソンの開催、バグバウンティのインセンティブ増加など、XRPLのセキュリティ体制を強化する継続的な取り組みを概説しています。
rippldバージョン2.6.2までに存在した2つの脆弱性で、UNLバリデーターが侵害された場合、ネットワークの合意形成を妨げる可能性がありました。1つは異議解決時の無効な取引IDの検索、もう1つはリレー検査中の不正な取引データによるクラッシュです。
いいえ。これらの脆弱性はCommon Prefixによる責任ある開示を通じて発見され、2025年12月9日にrippld 3.0.0に修正が適用される前に、悪用は確認されていません。
UNL(ユニークノードリスト)バリデーターは、XRPレジャーの合意形成に参加する信頼されたノードです。標準のUNLは約35のバリデーターで構成されています。これらのノードは通常プロキシノードを通じて通信しているため、侵害は難しいとされていますが、研究者は不可能ではないと指摘しています。これらの脆弱性は、そのような侵害が行われた場合にのみ悪用される可能性がありました。