XRP(
XRP)を基軸通貨とするブロックチェーンのXRPレジャー(XRPL)は9日、開発者向けブログで、サーバーソフトウェア「xrpld」の脆弱性2件を開示した。このうち1件は、決済処理の整数のオーバーフローにより、ルールに反してXRPを新たに生み出し、通常のXRPと同じように使えるというものだった。いずれも9月25日に公開したxrpld 3.4.1で修正しており、公開ネットワークで悪用された証拠は見つかっていないという。
XRPレジャーの決済処理、XRPを無から生み出せる不具合
開示によると、不具合は、1回の送金で注文板の多数の注文を消化する際に、買い手が支払う額を合計する処理にあった。合計には上限のある64ビット整数を使っており、上限を超えるとエラーにならず、小さな数に戻ってしまっていた。
この場合、各注文の出し手には満額が支払われる一方で、買い手には戻った後の小さな額しか請求されない。差額が、本来存在しないはずの新たなXRPになる。
XRPレジャーには、取引がXRPを生み出していないかを確かめる安全装置がある。ただ、この装置も同じ方法で合計していたため、同じように数が戻り、異常を検出できなかった。
悪用されていれば、総供給量をはるかに超えるXRPを1回の取引で生み出せた。必要な資金は、口座と注文の準備金として数百XRPと手数料程度だったという。一方で、現実の取引ではありえない価格の注文を数百件そろえる必要があり、偶然起きることはないとしている。
開示によると、この不具合は2015年に現在の決済処理が書かれた時から存在していた可能性がある。発見したのは、XRPLのバグ報奨金制度を通じて9月22日に報告したCayden Liao氏とVeria AIで、リップル社の開発部門RippleXは同日に再現を確認し、深刻度を報告時の「メジャー」から「クリティカル」に引き上げた。
XRPレジャー、10年超で初めてアメンドメントを経ずに修正
XRPレジャーでは通常、取引の処理を変える修正は「アメンドメント」の手続きを経る。信頼されたバリデーターの80%超の支持が2週間続いた後、全サーバーが同時に新しいルールに切り替わる仕組みである。
今回の修正は、この手続きを経ず、各サーバーがxrpld 3.4.1に更新した時点で有効になる形をとった。開示によると、アメンドメントの仕組みが導入されてから10年以上で初めての対応だった。
xrpldはオープンソースのため、修正を公開すると不具合の場所も明らかになる。アメンドメントの手続きでは、修正の公開から有効になるまで数週間かかり、その間、不具合が知られたまま悪用できる状態が続く。開発側は、更新の途中でサーバー間の合意がとれなくなるリスクより、こちらのリスクの方が大きいと判断した。
既定のUNL(信頼するバリデーターの一覧)のバリデーターの80%超は、リリース当日に3.4.1へ更新したという。修正のソースコードは、今回の開示にあわせて公開された。開示は、今回の対応は例外で、取引の処理を変える修正は引き続きアメンドメントを経るとしている。
XRPレジャー、バッチ機能の不具合も修正して有効化
もう1件は、最大8件の取引をまとめて処理する「バッチ」機能(アメンドメント名BatchV1_1)の検証の不備だった。悪用されても資金は失われないが、ソフトウェアのバージョンが混在すると、サーバー間で合意がとれず、新しい台帳の承認が止まるおそれがあった。
バッチ機能は9月29日に有効になる予定だったが、リップル社などのバリデーターが投票をいったん取り下げ、修正(fixBatchV1_2)を先に有効にする手順をとった。修正とバッチ機能は、いずれも10月9日にメインネットで有効になった。
XRPレジャーは2026年に入り、今回を含め5件の脆弱性の開示報告を公表している。
| 開示報告 | 公表月(2026年) |
|---|---|
| バッチ機能のアメンドメント:内部取引の不正な実行 | 2月 |
| トランザクションセットの処理 | 3月 |
| マニフェストの大量送信(Manifest Flood) | 7月 |
| XLS-68(手数料と準備金の肩代わり) | 8月 |
| xrpld 3.4.1(XRPの生成、バッチ機能の検証) | 10月 |
リップル社の開発部門は6月、XRPLの融資基盤の実用化に向け、監査やAIによる攻撃の検証をバグ報奨金に重ねる方針を示していた。開発チームは今後、こうした手段で見つかった問題を、リリース候補ごとに再現テストで確かめてから解決済みとする手順を加えるとしている。
関連:リップルとXRPL財団、XRPのアジア新組織始動──XRPL Japanも土台に
関連:XRPに新たな使い道──リップル、資産を売らずに借りられる融資基盤を構想
関連:XRP、年初から42.7%下落──XRPLの取引件数は21%増加と対照的な動き
