miniupnpc
で、重大なデータ漏洩を引き起こすバッファオーバーフローが発見されました。
当時公開されたばかりのCVE-2015-6031と組み合わせると、miniupnpc
でRCE(リモートコード実行)が可能になり、
Bitcoin CoreでのRCEにつながる可能性がありました。これは2016年2月にリリースされた
Bitcoin Core 0.12で修正されました。
この問題の重大度は中です。
詳細
2015年9月に開示されたCVE-2015-6031により、 悪意あるUPnPサーバーが起動時にローカルネットワーク上のBitcoin Coreプロセスをリモートでクラッシュさせることが可能になりました。 詳細についてはこちらをご覧ください。 この修正は、Bitcoin Coreに取り込まれ、 2015年10月にリリースされたバージョン0.11.1でリリースされました。 その後、UPnPはデフォルトでオフになりました。
CVE-2015-6031でのバッファオーバーフローが発見され、リモートクラッシュを可能にすることに加えて、
被害者のマシンでリモートコード実行が可能でした。この可能性の調査中に、
Wladimir J. Van Der Laanは、miniupnpc
で重大なデータ漏洩を招く別のバッファーオーバーフローを発見しました。
これは、Wladimirによってminiupnpc
のコミット
4c90b87ce3d2517097880279e8c3daa7731100e6
で修正されました。この修正は、
Bitcoin Coreに取り込まれ、バージョン0.12の一部としてリリースされました。
このデータ漏洩は、(ウォレットの秘密鍵などの)秘密情報を直接開示するものではありませんでした。
しかし、別のスタックオーバーフロー(CVE-2015-6031で開示されたものなど)と組み合わせることで、
リモートコード実行を引き起こすことが可能でした。Wladimirは、
これをUbuntuのminiupnpc
バージョン1.6-precise
で実証しました。しかし、
このエクスプロイトで使用された特定のアプローチは、Bitcoin Coreには直接移植できませんでした。
貢献
CVE-2015-0035を特定したAleksandar Nikolicとその影響を調査し、2つめのバッファーオーバーフローを発見した Wladimir J. Van Der Laanに感謝します。
タイムライン
- 2015-09-15 CVE-2015-0035が修正され、開示される
- 2015-10-09 PR #6789がBitcoin Coreにマージされる
- 2015-10-14 Wladimirによる2つめのバッファーオーバーフローを利用したリモートコード実行がUbuntuセキュリティとBitcoin開発者に開示される
- 2015-10-15 Bitcoin Core 0.11.1がリリースされる
- 2015-10-26 2つめのバッファーオーバーフローの修正が
miniupnpc
にマージされる - 2015-12-18 修正がBitcoin Coreに取り込まれる
- 2016-02-23 Bitcoin Core バージョン 0.12 がリリースされる.
- 2017-03-08 脆弱性のある最後のバージョンのBitcoin Core (0.11.x) がEOLになる
- 2024-07-03 公開