TL;DR:
- Bitcoin Coreは、今週公に開示する前に、CVE-2024-52911という初のメモリセキュリティバグを静かにパッチしました。
- この欠陥は0.14.0から28.xまでのすべてのバージョンに影響し、マイナーが無効なブロックでノードをリモートでクラッシュさせることが可能でした。
- アクティブなノードの約43%がバージョン29.0以前のソフトウェアを実行し続けており、脆弱な状態のままです。
Bitcoin Coreは、公開する数か月前からプロジェクトの歴史で初めてのメモリセキュリティ脆弱性をパッチで修正しました。この脆弱性はCVE-2024-52911として分類され、深刻度は高とされています。0.14.0から28.xまでのすべてのソフトウェアバージョンに影響し、悪意のあるマイナーが特別に作成された無効なブロックを通じて、サードパーティのノードをリモートでクラッシュさせる可能性を生み出しました。
このバグは、スクリプト検証エンジンにおける*use-after-free*の脆弱性に該当します。ブロック検証中に、キャッシュに保存された事前計算データが、バックグラウンドの検証スレッドがまだそれを読み取っている間に破壊される可能性があります。この基盤となるメカニズムにより、攻撃はノードの急激なシャットダウンを可能にするだけでなく、発生する異常なメモリ状態中にリモートコード実行の可能性(ただし低確率)を残しました。

Bitcoin Core:ネットワークを守った静かなパッチ
MITデジタル通貨イニシアチブの研究者であるコリー・フィールズは、この脆弱性を発見し、秘密裏に2024年11月2日に報告しました。4日後、Bitcoin Core開発者のピーター・ウィレは、潜在的な攻撃者を警戒させないよう、「並列スクリプト検証エラーのデバッグログ機能の改善」と意図的に命名された隠蔽修正を実装しました。この修正は2024年12月にリポジトリに取り込まれ、2025年4月にBitcoin Core v29.0と共に配布されました。
28.xバージョンラインが2026年4月19日にサポート終了となった後、初めて公表されました。開発者のニクラス・ゲーゲは、これはプロジェクトの公的セキュリティアドバイザリ履歴において約2年ぶりのメモリセキュリティ問題であると指摘し、フィールズの責任ある開示を評価しました。

なぜ攻撃は発生しなかったのか?
攻撃ベクトルに組み込まれた抑止要素にも注目すべきです。この脆弱性を悪用しようとするマイナーは、報酬が一切得られない無効なブロックに実際のハッシュパワーを消費しなければならず、これは確実な損失であり、この脆弱性が実際には無効なままだった理由を説明している可能性があります。
バグはノードソフトウェアのメモリ処理に限定されていたため、Bitcoinのコンセンサスルールは一度も影響を受けませんでした。ただし、Clark Moodyのダッシュボードによる推定によると、アクティブなノードの約43%がv29.0以前のバージョンを実行し続けており、引き続き影響を受け続ける可能性があります。

