XRP Ledger、2015年から潜在していた偽造XRPを生み出し得る決済エンジンのバグを修正 - Decrypt
重要ポイント
- •2015年にコードが書かれた時点から存在していたXRP Ledgerの決済エンジンにおける整数オーバーフローにより、攻撃者が1回のトランザクションでトークンの総供給量を超える使用可能なXRPを作成できた可能性がありました。
- •9月に研究者がXRPLバグバウンティプログラムを通じて報告したこのバグは、1回の支払いが数百件の特殊に細工されたオーダーブックのオファーを消費した場合にのみ発生し、売り手に全額が支払われる一方で、支払額が極小の値にラップアラウンドしていました。
- •トランザクションがXRPを鋳造しないことを保証するために設計された帳簿の組み込み安全チェックは、同じ欠陥のある算術演算に依存しており、脆弱なコードとともに黙って失敗していました。
- •パッチは9月25日にバージョン3.4.1として提供され、当日中に80%を超える信頼済みバリデータが採用しました。トランザクション処理の変更が意図的に帳簿の2週間のアendment投票プロセスを迂回したのは初めてです。
- •メンテナーは脆弱性が悪用された証拠を発見しておらず、今回の公表はZcashのシールドプールにおけるサウンドネスバグをめぐる以前の偽造騒動を想起させます。

XRP Ledgerの開発者は、対処されなければ攻撃者がXRPを無から生み出すことを許しかねない重大な脆弱性を公表し、修正しました。この欠陥は、ネットワークのコード内に約10年間潜在していました。
金曜日に公開された報告によると、帳簿のメンテナーは、9月に研究者がXRPLバグバウンティプログラムを通じてこのバグを報告したと述べています。問題は、支払いを処理するソフトウェアのコンポーネントである決済エンジンにおける整数オーバーフローでした。
算術上の失敗が表面化したのは、異常な条件下でのみでした。1回の支払いがオーダーブックから数百件の特殊に細工されたオファーを消費すると、買い手が支払うべき合計額がシステムが格納できる最大値を超え、「ラップアラウンド(桁あふれ)」して極小の数値になりました。エンジンは各売り手に全額を支払う一方で、買い手にはほぼ無償で課金しており、その差額は本来存在しないはずの新たに鋳造されたXRPに相当しました。
問題を悪化させていたのは、トランザクションがXRPを新規発行しないことを確認するために設計された帳簿の組み込み安全チェックが、同じ欠陥のある算術演算に依存していたことです。チェックも同様にラップアラウンドし、何も検知できませんでした。メンテナーによれば、攻撃者は1回のトランザクションでトークンの総供給量をはるかに超える使用可能なXRPを作成し、それを移動、取引、または取引所へ送金できた可能性があるといいます。このチェックは、トランザクションが新しいXRPを鋳造できないことを保証するために帳簿が依存する仕組みであり、本来監視すべきコードとともに黙って失敗しました。
RippleXのエンジニアは、このバグが現行の決済エンジンが書かれた2015年から存在していたことを確認しました。通常の支払いではオーバーフローを引き起こすほどには程遠いため発見されず、悪用された証拠はないとチームは述べています。
修正は9月25日にバージョン3.4.1として提供され、当日中にネットワークの信頼済みバリデータの80%以上が稼働させていました。注目すべきは、このパッチが変更の発効前にバリデータの投票と2週間の待機を必要とする帳簿の通常のアendmentプロセスを迂回したことです。システムが導入されてから10年以上で、トランザクション処理の変更が意図的にそのような形で提供されたのは初めてです。メンテナーは、オープンソースの修正を公開するとバグの存在が明らかになりながら、数週間にわたり悪用可能なまま放置されることになるため、重大度がこの例外を正当化したと説明しています。欠陥が公開された現在、依然として旧リリースを使用しているバリデータには理由と対策の両方が揃っており、3.4.1へのアップグレードによって当該ノードの決済処理から欠陥のある算術演算が除去されます。
今回の公表は、今年Zcashを揺るがした偽造騒動を想起させます。プライバシーコインは、偽造コインを許しかねないシールドプールのサウンドネスバグの修正に急いで取り組みました。この一件でZECは急落しましたが、その後ネットワークのIronwoodアップグレードが問題を解決しました。両インシデントとも、トランザクションがどれほど巧妙に細工されていようとも、ブロックチェーンの資産は無から製造できないという、同じ種類の保証が対象でした。
XRPは今週、無傷では済みませんでした。トークンは月曜に1.38ドルで取引され、24時間で1.6%下落(主要暗号資産の中で最悪のパフォーマンス)、過去7日間で9.4%下落しました。