ビットコイン・コアの開発者が、高い重大度の不具合を開示した。この不具合により、一部のビットコイン・ノードをマイナーがリモートでクラッシュさせられる可能性がある。
概要
この問題はCVE-2024-52911として追跡されており、0.14.0より後で29.0より前のビットコイン・コアのバージョンに影響した。不具合はビットコイン・コア29.0で修正され、2025年4月にリリースされた。
ビットコイン・コアは、2026年5月5日にこの問題を公開した。脆弱な28.xの最終リリース系統が、4月19日にライフエンドを迎えた後だった。
この問題は、ブロック検証中におけるビットコイン・コアのスクリプト・インタプリタに関係していた。ビットコイン・コアによれば、特別に細工されたブロックによって、ノードが、そのデータがすでに解放されていた後でもメモリにアクセスしてしまう可能性があるという。
検証の際、ビットコイン・コアはトランザクション入力データを事前計算し、スクリプト検査をバックグラウンド・スレッドへ送る。場合によっては、不正なブロックによってキャッシュデータが破壊され、その一方で別のスレッドがそれを読み取ろうとすることがある。
ビットコイン・コアは、十分なプルーフ・オブ・ワークを持つ攻撃者が被害者ノードをクラッシュさせられる可能性があると述べた。また、「クラッシュがリモートコード実行を支援しうる可能性」はあるものの、ブロックデータへの制限により、その結果は「起こりにくい」とも述べた。
この攻撃は、単純には実行できない。マイナーは、チェーンの先端(チェーンチップ)に到達するのに十分なプルーフ・オブ・ワークを伴う、特別に細工されたブロックを作る必要がある。
そのため、そのようなブロックは無効になってしまうので、攻撃は費用がかかる。通常のブロック報酬を得ることができず、攻撃者は通常のマイニング支払いを回収せずにハッシュパワーを費やすことになる。
ビットコイン・コアは、この不具合が実際の攻撃で使われたとは述べていない。勧告は、不具合そのもの、修正、そして開示の時系列に焦点を当てている。
この不具合はビットコインの合意(コンセンサス)ルールを変えない。ビットコイン・コアのソフトウェアにおけるメモリの取り扱いに結びついたものであり、有効なビットコインの取引やブロックを定義するルールそのものではない。
MITデジタル・カレンシー・イニシアチブのCory Fieldsは、2024年11月2日に、この不具合を非公開で報告した。ビットコイン・コアは、その報告には概念実証(PoC)と、リスクを減らすための提案が含まれていたと述べた。
Pieter Wuilleは、その4日後にPR 31112を通じて秘匿的な修正を投入した。このプルリクエストは、2025年4月に修正が反映されたビットコイン・コア29.0が出荷される前の2024年12月3日にマージされた。
勧告は、ビットコイン・コアの重大度の高い不具合に関する開示ポリシーに従って行われた。このポリシーでは、重大度の高い問題は、最後に影響を受けたリリースがライフエンドに達した後に開示されるとしている。
さらに、29.0より前のビットコイン・コア・バージョンを使っているノード運用者は、引き続き古い不具合に直面する。ビットコイン・コアは自動更新を行わないため、ユーザーは新しいバージョンを手動でインストールする必要がある。
ブロックチェーンの非中央集権化に関する過去の報告では、2021年6月にビットコインのノードの21%が古いビットコイン・コア・ソフトウェアを動かしていたという研究が引用された。この文脈は、修正が出たずっと後でも、古いクライアント・バージョンが依然としてセキュリティ上の懸念になり得る理由を示している。
関連記事
ゴマイニングがConsensus MiamiでGoBTCをローンチ、ビットコイン待望の決済レイヤーを目指す
クジラ「pension-usdt.eth」はBTCとETHの3倍ショートポジションで2,960万ドルの含み損に直面
ビットコインが8万ドルの節目を維持し、暗号資産市場の恐怖と貪欲指数が1月以来初めて「中立」に戻りました