#cp-summary-2025 { all: revert; box-sizing: border-box; width: 100%; background: #f8f9fb; border-left: 3px solid #0d2d4f; border-radius: 0 4px 4px 0; padding: 1.1rem 1.25rem; margin: 0 0 1.75rem; font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif; } #cp-summary-2025 *, #cp-summary-2025 *::before, #cp-summary-2025 *::after { box-sizing: border-box; } /* ヘッダー行 */ #cp-summary-2025 .cp-sum-header { display: flex; align-items: center; gap: .45rem; margin: 0 0 .75rem; padding: 0; border: none; background: none; } #cp-summary-2025 .cp-sum-label { font-size: .65rem; font-weight: 700; letter-spacing: .12em; color: #0d2d4f; text-transform: uppercase; line-height: 1; } #cp-summary-2025 .cp-sum-line { flex: 1; height: 1px; background: #d1d9e0; } /* リスト */ #cp-summary-2025 .cp-sum-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .55rem; border: none; background: none; } #cp-summary-2025 .cp-sum-list li { display: flex; align-items: flex-start; gap: .55rem; font-size: .85rem; font-weight: 500; color: #1a2d40; line-height: 1.6; margin: 0; padding: 0; border: none; background: none; } #cp-summary-2025 .cp-sum-list li::before { content: ''; flex-shrink: 0; width: 16px; height: 16px; margin-top: .18em; background-color: #0d2d4f; border-radius: 50%; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpolyline points='2,6 5,9 10,3' stroke='white' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; background-size: 10px 10px; } /* スマホ */ @media (max-width: 599px) { #cp-summary-2025 { padding: .95rem 1rem; } #cp-summary-2025 .cp-sum-list li { font-size: .8rem; } }
- 不正生成の脆弱性は2015年から存在か
- 修正版、報告3日後の9月25日に公開
XRP不正生成の修正
XRPレジャーのコミュニティーブログが9日に公表した報告書によると、リップルの開発部門リップルエックスとXRPレジャー財団は、仮想通貨XRPを不正に生成できた脆弱性を、9月25日公開のソフトウェア「xrpld」3.4.1で修正した。
この脆弱性は、XRPレジャーで支払いを処理するペイメントエンジンが、1回の支払いで多数のオファー(注文)を消化する際に合計額を上限の確認なしに足し合わせていたことで生じ、2015年のエンジン作成時から存在していたとみられる。
上限を超えた合計は小さな値に戻る桁あふれ(オーバーフロー)を起こし、各オファーの出し手には全額が支払われた一方、買い手の支払いは小さな値に戻った合計額だけで、差額分のXRPが新たに生まれたという。
3.4.0以前が対象となる問題を受け、3.4.1ではオファーの金額を合計する際に桁あふれを検査する処理を加え、桁あふれが起きる場合はその部分の支払いを失敗扱いにしてXRPが生成されないようにした。XRPの新規生成がないかを確認する安全チェックも、同じ方式で合計していたため桁あふれを検知できず、より桁数の多いカウンターに切り替えたという。
修正版の公開に先立つ9月22日、バグバウンティ(脆弱性報奨金制度)で報告を受けたリップルエックスは、ローカル環境のサーバーで攻撃を再現し、生成したXRPを後続の支払いで使えることを確認して深刻度を「クリティカル」に引き上げた。
報告書は、悪用されれば後に返還される準備金の数百XRPと手数料程度の元手で、1回の検証済み取引により1,000億XRPの総供給量を大幅に上回るXRPを作れたとする一方、メインネットでの悪用の証拠は確認していないと説明した。
googletag.cmd.push(function() { googletag.display('div-gpt-ad-1596507297533-0'); });
投票手続きを経ない修正
取引処理の変更は通常、バリデーター(取引の検証者)の投票による手続き(アメンドメント)を経て適用されるが、今回の修正は同手続きの導入から10年以上で初めて、意図的に手続きを経ずに適用された。
xrpldはオープンソースで、修正を公開すれば脆弱性の所在も分かり、手続きが完了するまでの数週間は悪用が可能な状態が続くとして、XRPレジャー財団やリップルエックス、バリデーターらが迅速な修正を優先したという。
手続きを経ない修正では、更新が遅れたサーバーとの間で処理結果が食い違うおそれがあったが、デフォルトの信頼バリデーターリストに載るバリデーターの80%超が公開当日の25日に3.4.1以降を稼働させた。
開発チームは、監査やバグバウンティを含め出所を問わず修正済みとした全ての指摘を、リリース候補版で元の問題を再現するテストにかけ、合格した場合のみ完了とする工程をリリース手順に加えていると説明した。
googletag.cmd.push(function() { googletag.display('div-gpt-ad-1634258516209-0'); });