Bitcoin Coreのminiupnp依存関係における無限ループバグの開示。 修正は、2021年9月14日に Bitcoin Core v22.0でリリースされました。
この問題の重大度は低です。
詳細
Bitcoin Coreで使用されるUPnPライブラリであるMiniupnpは、ネットワーク上のデバイスからランダムなデータを受信するまで、 検出を待機します。さらに新しいデバイス情報ごとにメモリを割り当てます。ローカルネットワーク上の攻撃者は、 UPnPデバイスを装い、Bitcoin Coreノードがメモリを使い果たすまで、肥大化したM-SEARCH応答を送り続ける可能性があります。
Miniupnpはデフォルトでオフになっているため、
-miniupnp
オプションを使用して実行しているユーザーのみがこのバグの影響を受けます。
貢献
miniupnpプロジェクトに無限ループのバグを報告してくれたRonald Huveneersと、 OOMをトリガーするPoCエクスプロイトと(修正を含む)依存関係を更新するプルリクエストを Bitcoin Coreプロジェクトに報告してくれたMichael Ford (Fanquake)に感謝します。
タイムライン
- 2020-09-17 - Ronald Huveneersによる無限ループバグのminiupnpへの最初の報告
- 2020-10-13 - Michael Fordによる最初のレポートがsecurity@bitcoincore.orgに送信される
- 2021-03-23 - 修正がマージされる(https://github.com/bitcoin/bitcoin/pull/20421)
- 2021-09-13 - v22.0がリリースされる
- 2024-07-31 - 公開