CVE-2025-46598:未承認トランザクション処理によるCPU DoS
細工した非標準トランザクション1件ごとにBitcoin Coreノードを数秒間占有でき、送信者は切断されない。攻撃者はこれを使ってブロック伝播を遅らせることができた。深刻度LowのCVE-2025-46598はAntoine Poinsot氏が報告し、v30.0で最悪時の検証時間を短縮して緩和した。
Bitcoin Core
ビットコインのリファレンス実装。そのサイトでは、リリースの告知、セキュリティ情報、プロジェクトの声明が公開されています。
119件の記事
細工した非標準トランザクション1件ごとにBitcoin Coreノードを数秒間占有でき、送信者は切断されない。攻撃者はこれを使ってブロック伝播を遅らせることができた。深刻度LowのCVE-2025-46598はAntoine Poinsot氏が報告し、v30.0で最悪時の検証時間を短縮して緩和した。
Bitcoin Core
1GB超のブロックは32ビットのBitcoin Coreノードでサイズチェックをオーバーフローさせ、ディスク書き込み時にクラッシュを招く恐れがあった。ただし成立するのはコンパクトブロックとして届き、被害ノードが-maxmempoolを3GB超に設定して1GB分のトランザクションを抱えている場合に限られる。深刻度LowのCVE-2025-46597はPieter Wuille氏が発見し、29.1と30.0で32ビット環境の-maxmempoolに上限を設けて解消した。
Bitcoin Core
既定の最低手数料率がBitcoin Core 28.3で下がった。-blockmintxfeeは1 satoshi/kvB、-minrelaytxfeeと-incrementalrelayfeeは100 satoshi/kvBになる。ウォレットの手数料率は据え置きで、新しい既定値がネットワークに広まらない限り、より安いトランザクションは伝播しない可能性がある。onion経由のインバウンド接続にはホワイトリスト権限が適用されなくなった(#33395)。
Bitcoin Core
FillBlockに関するP2P修正が2件、Bitcoin Core 29.2に入った。ウィットネス改変のチェック(#32646)と、呼び出し前の空ヘッダーチェック(#33296)だ。チェーン再編成時にTRUCチェックを強制しなくなり(#33504)、getblockとgetblockheaderはチップのtargetを返さなくなった(#33446)。
Bitcoin Core
OP_RETURNの制限が事実上なくなった。Bitcoin Core 30.0では-datacarriersizeの既定値が100,000となり、1つのトランザクションに複数のデータ出力を載せられる。-datacarriersize=83を指定すれば従来の上限に戻る。既定のリレー手数料率は0.1 satoshi/vBに下がり、標準トランザクションのレガシー署名操作は2500個までに制限された。既存の実行ファイルをまとめる新コマンドbitcoinも加わった。
Bitcoin Core
ディスクへの無条件ログ出力は、Bitcoin Core 29.1からソース位置ごとに1時間1MiBまでにレート制限される(#32604)。標準トランザクションに含められる、実行される可能性のあるレガシー署名操作は最大2500個。既定のリレー手数料率は100 satoshi/kvBに下がり、32ビットビルドでは-maxmempoolが500MB、-dbcacheが1GiBを上限とする。
Bitcoin Core
変更の半分強はビルド関連だ。Bitcoin Core 28.2ではGuixがmacOSアプリバンドルの公証と、macOS・Windows全バイナリのコード署名を行うようになった(#31407)。dependsではNetBSD上のlibevent(#31500)とcmake下のfreetype(#32693)のコンパイルを修正した。
Bitcoin Core
Bitcoin Coreの貢献者31人が書簡に署名し、持続的な経済的需要があって確実にブロックへ入るトランザクションのリレーをノードソフトウェアは拒むべきでないとの立場を示した。そうしたフィルターは利用者やマイナーに迂回されるためだという。非金融データの利用を支持するものではなく、どのソフトウェアとポリシーを動かすかは利用者だけが決めることだとも強調している。
Bitcoin Core
addrスパムを何年も送り続けると、Bitcoin Coreのアドレスマネージャーで32ビット識別子があふれ、ノードがクラッシュする恐れがあった。v22.0のレート制限で鈍らせた攻撃の残り部分にあたる。バージョン29.0は識別子を64ビットにしてCVE-2024-52919(深刻度Low)を解消した。発見者はEugene Siegel氏、変更を担当したのはMartin Zumsande氏。
Bitcoin Core
Bitcoin Core 29.0からUPnPサポートが消えた。-natpmpはlibnatpmpに代えて内蔵のPCP・NAT-PMP実装で動く。新ポリシーのエフェメラルダストが導入され、ブロックウェイトの二重予約の修正に伴い-blockreservedweightが追加された。ノードはオーファンを通知したすべてのピアに欠けた親を要求する。26.x以前のバージョンはメンテナンス終了となる。
Bitcoin Core
-portを指定した場合、Bitcoin Core 28.1の既定のonion待ち受けポートはメインネットの8334固定ではなく、そのポートに1を足した値になる。これで複数のローカルノードを起動時に衝突させず再び並行して動かせる。torrcに手動でHiddenServicePortを書いている場合は変更が必要になることがある。DecodeExtKeyでは秘密データの消去も行う(#31166)。
Bitcoin Core
ブロックを通知したまま止まるピアのせいで、Bitcoin Coreノードは別のピアを試すまで最大10分待たされ、攻撃者はこれを繰り返すことができた。深刻度MediumのCVE-2024-52922はGreg Sanders氏が報告・修正した。v25.1とv26.0で緩和され、高帯域コンパクトブロックピア最大3台に即座にブロックを要求できる。
Bitcoin Core
自己接続検出の競合状態がBitcoin Core 27.2でふさがれた(#30394)。FillPSBT呼び出しが誤ってcomplete=trueを返す問題も修正(#30357)。ロードブロックスレッドとスケジューラーのシャットダウン順序を変更し(#30435)、miniupnpc 2.2.8とGCC 15でビルドできるようになった。
Bitcoin Core
1つのピアから届く改変ブロックにより、同じブロックを通知した他ピアのダウンロード状態が消され、ノードが再構築中のコンパクトブロックを忘れてしまう。v25.0より前のBitcoin Coreにあった問題で、Suhas Daftuar氏が気づいた。#27608は各ピアが自身の状態にのみ影響するように制限した。CVE-2024-52921の深刻度はMedium。
Bitcoin Core
同じブロックに対するblocktxnメッセージを再度送るだけで、v25.0より前のBitcoin Coreノードをリモートからクラッシュさせられた。FillBlockの実行は1回だけとするアサーションに引っかかるためだ。short-idの衝突は不要で、ブロックのマークルルートにないトランザクションを含めれば同じ経路に到達する。深刻度HighのCVE-2024-35202はNiklas Gögge氏が発見し修正した。
Bitcoin Core
2023年5月初めのネットワーク活動の急増で、ブロックとトランザクションの伝播が遅くなった。スパイノードで悪化したもので、肥大したinv-to-sendセットのソートがP2Pスレッドの時間をほぼ使い切っていた。深刻度Mediumのこの問題はBitcoin Core v25.0の#27610で修正され、メンプールから消えたトランザクションを早めに捨て、セットが大きくなるほど速く送り出すようになった。
Bitcoin Core
Bitcoin Core 28.0にTestnet4(BIP94)が加わった。1親1子のペアに限ったパッケージリレー、BIP 431に基づくTRUCトランザクションの標準化、新しい出力タイプPay To Anchorも入る。-mempoolfullrbfの既定値は1になり、27.0で非推奨だったlibbitcoinconsensusは削除された。
Bitcoin Core
低難易度ヘッダーのチェーンを送りつければ、v24.0.1より前のBitcoin Coreノードをリモートからクラッシュさせられた。細工したチェーンは1本でネットワーク上のどのノードにも使い回せた。#25717の修正で、ノードはチェーンに十分なワークがあることを確認してから保存する。既知の攻撃に対するチェックポイント依存もこれで終わった。深刻度はHigh。
Bitcoin Core
addrメッセージのスパムでBitcoin Coreノードが落ちる恐れがあった。addrmanへの挿入が2^32回に達すると32ビットのIDカウンターがあふれ、アサーションに引っかかる。深刻度Highのこのバグは2021年にEugene Siegel氏が報告し、v22.0にPieter Wuille氏の修正が入った。
Bitcoin Core
ローカルネットワーク上のUPnPデバイスになりすました攻撃者が、肥大したM-SEARCH応答を送り続けてBitcoin Coreノードのメモリを枯渇させることができた。ライブラリは既定で無効のため、影響は-miniupnpを付けて起動したノードのみ。深刻度Lowのこのバグはv22.0で修正された。
Bitcoin Core