Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/themalwareguardian/cve-2025-4275
永続化メカニズム脆弱性分析エクスプロイトリバースエンジニアリングハードウェアセキュリティバイナリ解析学習と教育ファームウェア解析
GitHubthemalwareguardian/cve-2025-4275

CVE-2025-4275

CVE-2025-4275(Hydr0ph0bia)の分析と悪用。これはSecure Bootの信頼チェーンの弱点であり、ファームウェア変数を利用して攻撃者が制御する証明書を導入し、後続のブートコンポーネントから信頼させるものです。

リポジトリを見る
131ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

🐞 CVE-2025-4275: Hydroph0bia SecureFlash 証明書シャドウイング

このリポジトリには、Insyde H2O ベースの UEFI 互換ファームウェアに影響を与える Secure Boot バイパス脆弱性 CVE-2025-4275 に関連する研究資料が含まれています。本脆弱性の技術的分析、問題に関与するバイナリ、ならびに研究者が実環境および教育目的の両方の文脈でこの脆弱性をより深く理解し、研究し、実験するためのドキュメントとツールを集約しています。




📑 目次

  • 原発見と公式参考文献
  • 脆弱性の概要(分析、悪用、PoC)
  • 📂
    • Insyde H2O における NVRAM と Secure Boot
    • NVRAM 変数シャドウイング
    • 脆弱性の悪用
    • 影響を受けるベンダー



🧠 原発見と公式参考文献

CVE-2025-4275 は Nikolaj Schlej によって最初に発見され、責任ある開示が行われ、調整は CERT/CC を通じて実施されました。公式およびコミュニティの参考文献:

  • 研究者ブログ - パート1(Secure Boot バイパス)
    • Hydroph0bia: A trivial SecureBoot bypass for UEFI-compatible firmware based on Insyde H2O, part 1
  • 研究者ブログ - パート2(DXE ボリューム乗っ取り)
    • Hydroph0bia: A bit more than just a trivial SecureBoot bypass for UEFI-compatible firmware based on Insyde H2O, part 2
  • 研究者ブログ - パート3(パッチ分析)
    • Hydroph0bia: A fixed SecureBoot bypass for UEFI-compatible firmware based on Insyde H2O, part 3
  • Insyde 公式アドバイザリ(2025年6月10日)
    • INSYDE-SA-2025002
  • コミュニティ参考文献集
    • Awesome Bring Your Own Vulnerable UEFI Application



🧪 脆弱性の概要(分析、悪用、PoC)

CVE-2025-4275 は Hydroph0bia(Insyde H2O をもじった駄洒落)と呼ばれ、Insyde H2O プラットフォーム上に構築された UEFI 互換ファームウェアに影響を与える Secure Boot バイパス脆弱性です。この脆弱性はファームウェア更新サブシステムの設計上の欠陥に起因します。信頼されたドライバによって揮発性 NVRAM 変数にロードされるはずの署名証明書が、攻撃者によって不揮発性変数として事前に設定される可能性があり、その結果ファームウェアが任意の外部コードを Insyde 自身によって署名されたものとして信頼してしまいます。

この脆弱性が特に影響力を持つ理由は、その単純さと広範な適用範囲の組み合わせにあります。悪用にはローカル管理者権限のみが必要で、EFI システムパーティションへのファイル書き込みと NVRAM 変数の作成ができれば十分であり、2025年6月10日より前にビルドされた Insyde H2O ファームウェアを実行するあらゆるシステムに影響を与えます。この攻撃は OEM に依存しないため、Acer、Dell、Framework、Fujitsu、HP、Huawei、Lenovo、および Insyde ベースのファームウェアを出荷するその他すべてのベンダーに広く適用されます。


🔐 Insyde H2O における NVRAM と Secure Boot

UEFI は、NVRAM として知られる不揮発性変数ストレージへの抽象インターフェースを提供します。このインターフェースの長年の特異な挙動として、特定の名前と GUID を持つ不揮発性変数が、同じ識別子を持つ揮発性変数と共存し、それをシャドウイングする可能性があります。コードが揮発性変数(信頼されたドライバによって実行時に作成される)を期待しているにもかかわらず、同じ名前の不揮発性変数が既に存在する場合、不揮発性バージョンが代わりに使用される可能性があります。この挙動は NVRAM 変数シャドウイングと呼ばれることがあり、本脆弱性の基盤となっています。

Insyde H2O のファームウェア更新サブシステムは、ドライバ間で署名証明書を伝達するために2つの NVRAM 変数に依存しています:

  • SecureFlashSetupMode: SecurityStubDxe によって読み取られ、証明書ベースの検証を有効化するトリガー変数。
  • SecureFlashCertData: EFI_SIGNATURE_LIST 形式で署名証明書を保持し、ファームウェアアップデータアプリケーション(isflash.bin)の認証に使用される変数。

想定されたフローでは、両方の変数はファームウェア更新プロセス中に BdsDxe によって揮発性として作成されます。次に SecurityStubDxe がそれらを消費し、isflash.bin が Insyde の証明書で署名されていることを検証してから実行を許可します。重大な欠陥は、SecurityStubDxe がこれらの変数の内容を信頼する前に、それらが揮発性か不揮発性かを検証しないことです。


💣 NVRAM 変数シャドウイング

CVE-2025-4275 の根本原因は、SecurityStubDxe が SecureFlashSetupMode と SecureFlashCertData を読み取るために GetVariable ランタイムサービスを直接呼び出すのではなく、汎用ライブラリ関数を使用していることです。つまり、信頼された BdsDxe によって設定された揮発性変数と、攻撃者によって事前に設定された不揮発性変数を区別できません(この特定の手法の詳細な説明については、以下のリポジトリを参照してください:「」)。

ツールをダウンロード
TheMalwareGuardian: Exploitation Technique NVRAM Variable Shadowing

その結果、ローカル管理者権限を持つ攻撃者は以下を実行できます:

  • ファームウェア更新フローが開始される前に、不揮発性の SecureFlashSetupMode トリガー変数を作成する。
  • EFI_SIGNATURE_LIST 形式で攻撃者が制御する証明書を含む、不揮発性の SecureFlashCertData 変数を作成する。

次回の起動時に、SecurityStubDxe は両方の変数を検出し、それらを正当なものとして扱い、攻撃者の証明書で署名された任意の UEFI 実行ファイルを信頼し、事実上 Secure Boot を完全にバイパスします。ファームウェアレベルの操作、ハードウェアアクセス、またはメモリ破壊プリミティブの悪用は必要ありません。攻撃対象は単に UEFI NVRAM 書き込みインターフェースであり、特権 OS セッションからアクセス可能です。


💥 脆弱性の発見と悪用

この脆弱性は、Secure Boot、ファームウェアパスワード、その他の最新のセキュリティ機能が有効な Insyde H2O ベースのファームウェアを実行する HUAWEI MateBook 14 2023 のセキュリティレビュー中に発見されました。これらの保護にもかかわらず、OS レベルの管理者権限のみを使用して完全な悪用が達成されました。

初期の悪用段階では、以下の処理を行う小さな Windows ツール(SFCD)が必要です:

  • SetFirmwareEnvironmentVariable を呼び出すために必要な SeSystemEnvironmentPrivilege 特権を取得する。
  • 攻撃者が制御する証明書を含む不揮発性の SecureFlashCertData 変数を作成する。
  • 1 に設定された不揮発性の SecureFlashSetupMode トリガー変数を作成する。

再起動後、SecurityStubDxe は両方の変数を読み取り、攻撃者の証明書で署名されたものすべてを信頼し始めます。この第一段階の実践的なデモンストレーションは、カスタム証明書で署名された CrScreenshotDxe UEFI ドライバのロードであり、Secure Boot が有効な状態で BIOS セットアップ画面のスクリーンショットを正常にキャプチャし、ファームウェア環境における任意コード実行の証明としています。

重要なニュアンス:CVE-2025-3052 に存在する IhisiParamBuffer 変数は、Insyde ベースのプラットフォームではしばしばロックされており、そこでの直接的な悪用をより困難にしています。CVE-2025-4275 はそのような変数が書き込み可能であることを必要とせず、メモリ破壊プリミティブにも依存しません。この攻撃は、攻撃者が NVRAM に書き込める任意の Insyde H2O システムで機能し、これは未パッチのファームウェアにおけるデフォルトの挙動です。


🎯 攻撃(パート1 - Secure Boot バイパス)

以下は、OS レベルのアクセスを持つ特権攻撃者を想定した、初期の Secure Boot バイパス段階のエンドツーエンドの攻撃について説明します:

  1. カスタム証明書の生成: 攻撃者は鍵ペアを生成し、公開証明書を EFI_SIGNATURE_LIST 形式でラップします。
  2. NVRAM 変数の設定: Windows 管理者セッションから SFCD ツールを使用して、攻撃者は不揮発性の SecureFlashCertData(カスタム証明書を含む)と SecureFlashSetupMode(1 に設定)を作成します。
  3. ペイロードへの署名: 攻撃者は任意の UEFI アプリケーションまたはドライバを自身のカスタム秘密鍵で署名します。
  4. ペイロードの登録: 署名されたペイロードは、DriverXXXX ブートオプション機構を介して UEFI ドライバとして登録されるか、UEFI ブートマネージャのブートエントリとして配置されます。
  5. 再起動: 次回の起動時に、SecurityStubDxe はシャドウイングされた NVRAM 変数を読み取り、攻撃者の証明書を信頼し、Secure Boot の状態に関係なく署名されたペイロードの実行を許可します。

🔺 エスカレーション(パート2 - DXE ボリューム乗っ取り)

パート1で達成された Secure Boot バイパスは、はるかに影響力の大きい第二段階への扉を開きます。それは Insyde ファームウェア更新プロセス自体をハイジャックすることによって達成される、DXE ボリュームの完全な乗っ取りです。

Insyde H2O のファームウェア更新サブシステムは次のように動作します:OS アップデータはファームウェアカプセルと署名済みアップデータアプリケーション(isflash.bin)を EFI システムパーティションに配置し、次に SecureFlashInfo NVRAM 変数内に SecureFlashTrigger=1 フラグを設定します。次回の起動時に、ファームウェアはトリガーを検出し、PEI 中にフラッシュ書き込み保護を無効化し、最終的に Insyde 証明書に対して検証した後に isflash.bin に対して LoadImage を呼び出します。これは CVE-2025-4275 が攻撃者による置き換えを可能にするのと同じ証明書機構です。

Secure Boot バイパスから DXE 乗っ取りにエスカレートするには、さらに3つの技術的ステップが必要です:

  • SecureFlashCertData 削除のバイパス : SecureFlashDxe は LoadImage を呼び出す前に証明書変数を削除しようとしますが、Insyde Authenticated Write(AW)特殊変数を削除できない裸の SetVariable 呼び出しを使用します。攻撃者は、この削除試行を生き残るために、証明書を AW 属性の特殊変数として再設定します。
  • InsydeVariableLock のロック解除: VariableRuntimeDxe は、BDS の開始後に AW 変数の作成を防ぐグローバルフラグ(InsydeVariableLock)を設定します。DriverXXXX を介して UEFI ドライバを登録する(これはこのロックが作動する前に実行される)ことで、攻撃者は BdsArchProtocol->Entry フックチェーンを解析してメモリ内のフラグを特定し、それを 1 から 0 に反転させます。
  • SecureFlashInfo の設定: SecureFlashInfo 変数は通常 VariableLockProtocol によって保護されていますが、このロックは ReadyToBoot でのみ作動します。DriverXXXX を介して登録されたドライバはこのイベントより前に実行され、ファームウェア更新フローを開始するために SecureFlashTrigger=1 を自由に設定できます。

3つの条件がすべて満たされると、ファームウェアは更新モードに再起動し、攻撃者のカスタム isflash.bin(攻撃者の証明書で署名され、シャドウイングされた SecureFlashCertData により信頼されるようになった)をロードし、SPI フラッシュが保護されていない状態でそれを実行します。この立場から、攻撃者は DXE ボリュームに任意のコンテンツを書き込み、永続的なドライバをインストールしたり、OS の再インストールやほとんどのセキュリティ制御を生き残る方法でファームウェアコンポーネントを変更したりできます。


🩹 修正(パート3 - パッチ分析)

Insyde は 2025年6月10日のパッチサイクルの一環として修正をリリースしました。この修正は、UEFITool で生成されたレポートと Diaphora によるバイナリ差分を使用して、連続する2つの Dell BIOS アップデート(パッチ前とパッチ後)を比較することによって分析されました。

変更は3つのドライバに集中していました:

  • BdsDxe: 裸の gRT->SetVariable 呼び出し(AW 属性の特殊変数を削除できなかった)を、SMM 通信を使用しそのような変数を削除できる LibSetSecureVariable 呼び出しに置き換えました。
  • SecureFlashDxe: 同じ LibSetSecureVariable への置き換えを適用し、ドライバエントリポイントで SecureFlashSetupMode と SecureFlashCertData の明示的な削除を追加し、OS レベルのコードからの作成をブロックするために両方の変数に VariablePolicy を登録しました。
  • SecurityStubDxe: `ExitBootServices イベントハンドラへの無関係な軽微な修正;中核となる脆弱性パスは構造的に変更されていません。

この修正は、攻撃者が VariablePolicy または LibSetSecureVariable をバイパスできないという前提の下で有効です。しかし、VariablePolicy のデフォルト EDK2 実装は内部的にグローバルフラグを使用しており、これはパート2で無効化された InsydeVariableLock と構造的に類似しています。SPI プログラミングハードウェアを介した物理的な NVRAM 編集も修正を完全にバイパスしますが、物理攻撃は従来 Secure Boot 脅威モデルの範囲外です。

研究者が推奨する修復策である、BdsDxe と SecurityStubDxe 間の証明書リレー機構から NVRAM を完全に削除することは、Insyde によって試みられましたが、リグレッションを引き起こし、将来のエンジニアリングサイクルに延期されました。


📦 影響を受けるベンダー

2025年6月10日より前にビルドされた Insyde H2O ベースのファームウェアを出荷するすべてのベンダーが潜在的に影響を受けます。開示時点での確認済みステータス:

VendorStatus
Dell修正済み - エンバーゴ終了直後に BIOS アップデートがリリースされました
Lenovo脆弱 - 修正が発表され、2025-07-30 以降に配信
Framework脆弱 - 開示時点で配信予定は提供されていません
Acer開示時点でアドバイザリまたは修正は公開されていません
Fujitsu開示時点でアドバイザリまたは修正は公開されていません
HP開示時点でアドバイザリまたは修正は公開されていません
Huawei元のテストデバイスベンダー - 修正ステータスは不明



🤝 研究とコラボレーション

似たようなことに取り組んでいますか?UEFI、カーネルセキュリティ、エクスプロイト、または別の興味深いセキュリティトピックを研究していますか?エクスプロイトの開発、手法の探求、または単にアイデアを交換したい場合に手助けが必要なら、遠慮なく連絡してください。私は研究について議論し、できる限り支援し、興味深いプロジェクトで協力することに常に前向きです。お気軽に LinkedIn でご連絡ください。