Bitcoin Core 29.2および30.0より前のバージョンでは、特定の条件下で、 悪意あるピアがコンパクトブロックにおけるwitnessの改ざんを悪用することで、 ブロック処理を停止させられる可能性があります。
この問題の重大度は 中 と見なされています。
詳細
影響を受けるBitcoin Coreのバージョンでは、コンパクトブロックの再構築後、witnessの改ざんチェックを行う前に、
そのブロックのダウンロード状態をクリアしていました。そのチェックに失敗した場合、ノードはフォールバックとして
同じピアにGETDATAでブロックを要求し、そのタイムアウトは10分でした。
悪意あるピアは、被害ノードに最初にコンパクトブロックをアナウンスした場合、この欠陥を利用して
被害ノードのブロック処理を停止させることができました。攻撃者が被害ノードの3つの高帯域幅ピアをすべて制御している場合、
あるいは被害ノードが-blocksonlyで実行されている場合、これを無期限に繰り返すことが可能でした。
貢献
この問題はEugene Siegelによって発見され、責任ある開示が行われました。
タイムライン
- 2025-04-28 EugeneがBitcoin Coreのセキュリティリストにこの問題を報告
- 2025-05-30 Gregory Sandersがこの問題を修正するPR #32646をオープン
- 2025-06-30 PR #32646がマージされる
- 2025-09-12 PR #32646がバージョン29にバックポートされる
- 2025-10-10 Bitcoin Core 30.0が修正と共にリリースされる
- 2025-10-14 Bitcoin Core 29.2が修正と共にリリースされる
- 2026-10-27 最後の脆弱なBitcoin Coreバージョン(29.x)がEoLを迎える
- 2026-11-10 開示
