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 開示