攻撃者がBMCファームウェアの脆弱性を悪用し署名検証を回避

2025年1月、SupermicroはBaseboard Management Controller(BMC)ファームウェアの検証ロジックにおける重大な脆弱性に対処するパッチをリリースしました。しかし、その後の調査により、署名検証を無効化し、BMCのRoot of Trust(RoT)を侵害するバイパス技術が発見されました。

これらの脆弱性には、検証プロセスにおける論理的な欠陥に起因するCVE-2024-10237が含まれており、悪意のあるファームウェアイメージが署名チェックを回避してBMC SPIチップを再フラッシュすることを可能にしました。また、CVE-2024-10238とCVE-2024-10239は、ファームウェアのリージョンマップの不適切な解析に起因するスタックベースのバッファオーバーフローであり、BMCコンテキスト内での任意のコード実行に悪用される可能性がありました。

Supermicroのセキュリティチームは、2025年1月5日にBMCファームウェアイメージ認証設計における3つの脆弱性の詳細を公開し、カスタムテーブルエントリをブロックし、イメージ検証中に厳格なリージョンホワイトリストを強制するためのファームウェアアップデートを発行しました。

しかし、2025年半ばにBinarly Research Teamは、CVE-2024-10237に対するSupermicroのパッチが不十分であることを明らかにしました。攻撃者は、制御されたオフセットに悪意のあるリージョンマップを注入し、ファームウェアの署名ルックアップ動作を利用することで、すべてのオフセットおよび属性チェックを通過するイメージを作成できることが判明しました。このエクスプロイト(CVE-2025-7937)は、元のブートローダー領域をカスタムコンテンツに置き換えることで、起動時に任意のコード実行を可能にします。SupermicroのPSIRTはこの問題を認識し、影響を受けるファームウェアバージョンを改訂された検証チェックで更新しました。

Binarlyの研究者は、異なるSupermicroマザーボードを分析する中で、X13SEM-Fファームウェアのsig_table実装における関連する脆弱性(CVE-2025-6198)を発見しました。この脆弱性は、OP-TEEセキュア環境内で実行されるイメージ検証ロジックに起因します。攻撃者はsig_tableエントリを操作することで、署名された領域(カーネルなど)を未使用のフラッシュ領域に移動させ、元のデータの代わりに悪意のあるコードを挿入することができます。RoT対策は起動時にファームウェアを認証するように設計されていますが、初期ブートローダーのみが検証され、カーネルを含む後続のステージはチェックされないままでした。結果として、BMCオペレーティングシステムへの管理アクセス権を持つ攻撃者は、ファームウェアを更新し、RoT保護をバイパスする特別に作成されたイメージを展開することができました。Supermicroは2025年9月のファームウェアリリースでこの脆弱性を確認し、修正しました。

SupermicroのBMCイメージ検証は通常3つのステップで行われます。まず、SPIフラッシュに保存されている公開鍵と、アップロードされたイメージに埋め込まれた暗号署名が取得されます。提供された修正には、fwmap_offset_checkとfwmap_attr_checkの2つの機能が追加されました。次に、ファームウェアのリージョンテーブル(fwmapまたはsig_table)が解析され、署名された領域が特定され、これらの領域に対してダイジェスト(通常はSHA-512)が計算されます。最後に、ダイジェストがRSA-4096を使用して署名と照合されます。バイパス技術は、攻撃者がイメージ自体の中でリージョンテーブルを再定義できるという事実を悪用し、再配置または改ざんされたコンテンツにもかかわらず、計算されたダイジェストが元の署名と一致するようにします。

これらの永続的な脆弱性から防御するために、管理者は以下の対策を講じるべきです。
* 以前の修正が不完全であったとしても、BMCファームウェアを最新のベンダーリリースに更新する。
* ファームウェアはSupermicroの公式ソースからのみダウンロードし、SHA-256ハッシュを比較してファイルの整合性を確認する。
* サポートされている場合は、ハードウェアベースのRoT機能(例:Aspeed AST2600)を有効にして、起動時の信頼チェーンを強化する。
* BMCの動作とファームウェアの整合性に焦点を当てた継続的な監視とセキュリティ監査を実装する。

BinarlyのTransparency Platformは、これらの低レベルの脅威を高精度で検出するための詳細なコード検査を提供します。Yaraルールと独自の検出エンジンを統合することで、作成されたファームウェアイメージが本番環境に到達する前に特定し、BMC環境における任意のコード実行に対する追加の保護層を提供します。研究者、ベンダー、ユーザー間の継続的な協力は、進化するファームウェアレベルの攻撃から重要なインフラストを保護するために不可欠です。

元記事:[https://gbhackers.com/bmc-firmware-vulnerabilities/](https://gbhackers.com/bmc-firmware-vulnerabilities/)