
Protos が5月5日に報じたところによると、Bitcoin Core の開発者が公式サイト上で、高危険な脆弱性 CVE-2024-52911 を公表した。 この脆弱性により、マイナーは特製ブロックを掘ることで、他のユーザーのノードを遠隔でクラッシュさせ、さらに特定の条件下でコードを実行できる。 ビットコインのフルノードはアップグレードが任意のため、現時点でも約43%のノードが脆弱性のある旧バージョンのソフトウェアを動かしていると推定されている。
Bitcoin Core の公式発表および Protos の5月5日の報道によれば、CVE-2024-52911 は「使用後解放(Use-After-Free)」というメモリ安全性の脆弱性であり、Bitcoin Core の並行スクリプト検証メカニズムに存在する。 ブロック検証の期間中、Bitcoin Core は取引入力データを事前に計算してキャッシュし、その後スクリプト検証作業をバックグラウンドの実行スレッドへ割り当てる。 そして、バックグラウンドのスクリプト実行スレッドが、CScriptCheck により破棄されたキャッシュデータを読み取ってしまうと、遠隔のコード実行が発生する可能性がある。
Bitcoin Core の開発者 Niklas Gögge は、これは Bitcoin Core の歴史上初めての「メモリ安全性問題」に関する脆弱性だと述べた。 Bitcoin Core の公式発表では、この脆弱性の修正によってビットコインの合意(コンセンサス)ルールは変更されないことが確認されている。
Protos の報道によると、この攻撃には、マイナーがブロック報酬を得られない無効ブロックの採掘に大量の計算能力を投入する必要があり、コストは非常に高い。 そのため Bitcoin Core の公式発表は、この脆弱性が実際に悪用されたことは、おそらく過去に一度もなかったと考えている。
Bitcoin Core の公式発表および Protos の5月5日の報道によれば、CVE-2024-52911 の開示タイムラインは以下のとおり。
2024年11月:開発者 Cory Fields が脆弱性を発見し、非公開で報告
2024年11月(発見から4日後):Pieter Wuille が修正案の PR #31112 を提出
2024年12月:PR #31112 が本番環境に統合
2025年4月:Bitcoin Core v29.0 がリリースされ、修正案を含む
2026年4月19日:脆弱性のある最後のバージョン系列(28.x)の保守が停止
2026年5月5日:Bitcoin Core が公式サイトでこの脆弱性を公表
Protos の5月5日の報道によると、ビットコインのフルノードが任意のアップグレードとなっており、更新が自動で実行されないため、現在も約43%のビットコイン・ノードが v29 以前の脆弱性のあるバージョンを稼働させていると推定されている。 Bitcoin Core は、ノード運営者に対し v29.0 またはそれ以降のバージョンへのアップグレードを推奨している。
Bitcoin Core の公式発表によれば、CVE-2024-52911 により、マイナーは特製ブロックを掘ることで、Bitcoin Core 0.14.1 から 28.4 までのバージョンのノードを遠隔でクラッシュさせ、さらに特定の条件下で遠隔コードを実行できる。 この脆弱性の修正によって、ビットコインの合意ルールは変更されない。
CVE-2024-52911 の影響を受けるバージョンは Bitcoin Core 0.14.1 から 28.4 までであり、ノード運営者は v29.0 またはそれ以降のバージョンへアップグレードするべきである。 脆弱性のある最後の 28.x バージョンは、2026年4月19日に保守が停止している。
Bitcoin Core の公式発表および Protos の5月5日の報道によれば、この攻撃には、マイナーが大量の計算能力を使って、ブロック報酬を得られない無効ブロックを掘る必要があるため、コストが非常に高い。 Bitcoin Core は、この脆弱性が過去に実際に悪用されたことは、おそらく一度もなかったと考えている。
関連記事
トレーダー「pension-usdt.eth」は、Hyperliquidの最大の損失アドレスとして、BTCショートで未実現損失に$18M を抱えている