攻撃者が無効なブロックを繰り返し送信することで、被害者ノードのディスクスペースいっぱいにすることができるログ記録のバグの詳細の開示。 このバグの悪用可能性は限定的であり、被害者のディスクスペースを使い果たすまでには長い時間がかかります。 修正は2025年10月10日にBitcoin Core v30.0でリリースされました。

この問題の重大度は と見なされています。

詳細

ノードは、基本的な健全性チェックに失敗したブロックを受信した場合、 または最後のチェックポイントより前で分岐するブロックを受信した場合に、無条件でログを記録していました。 そのような無効なブロックを被害者ノードに繰り返し送信することで、攻撃者は被害者のディスクスペースを使い果たせることができました。

この問題は、ログのレート制限を全体的に実装することで修正され、同じタイプの将来的な問題も防ぐことができるようになりました。

貢献

Niklas Goeggeがこのバグを発見し、責任を持って開示しました。Eugene Siegelがこのバグを独立して再発見し、 責任を持って開示しました。

Eugene SiegelとNiklas Goeggeが、すべてのタイプのログ記録攻撃を軽減する修正に取り組みました。

また、以前にBitcoin Coreにおけるディスク容量枯渇ベクトルに関する懸念を提起し、 それらに対処するために取り組んだコントリビューター「practicalswift」にも謝意を表します。

タイムライン

  • 2022-05-16 - Niklas Goeggeがこの問題をBitcoin Coreのセキュリティメーリングリストに報告
  • 2025-03-13 - Eugene Siegelがこの問題をBitcoin Coreのセキュリティメーリングリストに報告
  • 2025-04-24 - Eugene Siegelがワーストケースのディスク容量枯渇率に関する研究についてセキュリティメーリングリストに報告
  • 2025-05-23 - Eugene SiegelがNiklas Goeggeの以前の作業に基づいてログのレート制限を導入するPR #32604を作成
  • 2025-07-09 - PR #32604がmasterにマージされる
  • 2025-09-04 - バージョン29.1が修正と共にリリースされる
  • 2025-10-10 - バージョン30.0が修正と共にリリースされる
  • 2025-10-24 - 公開