
CVE-2026-25262のSnapdragon 8 Gen 1への適用性 — 実験結果
ステータス:
部分的成功 — 任意のSRAM書き込み確認済み、Firehose完全初期化は保留中
このリポジトリは、CVE-2026-25262 (Qualcomm SaharaプロトコルにおけるWrite-What-Where) の Snapdragon 8 Gen 1 (SM8450) プラットフォーム、特に POCO F4 GT デバイス (コードネーム ingres) への適用可能性に関する実験的研究の結果を含んでいます。
確認された主な発見:
CVE-2026-25262 は SM8450 で悪用可能です。 Sahara ハンドシェイク中に署名検証をバイパスしながら SRAM への任意のデータ書き込みが可能です。これにより、公式に認められているレガシーな32ビットおよび64ビットチップセット (ARMv7-A, ARMv8-A) のリストを超えて、この脆弱性が最新の64ビット ARMv9 プラットフォームにも適用可能であることが確認されました。
重要な認証フラグが特定されました。 Firehoseローダー (xbl_s_devprg_ns.melf) の静的解析により、アドレス 0x6b9cd500 にグローバル構造体が存在することが判明しました。認証状態はオフセット 0x38 (0x6b9cd538) にある64ビットフィールドによって制御されています。静的解析に基づき、このフィールドを 5 に設定することで理論上はフルアクセスが許可されるはずです。
フラグインジェクションは技術的に可能です。 カスタムツール (cve_final_single) を使用して、ローダーに制御を移す前にアドレス 0x6b9cd538 に値 5 が書き込まれました。書き込みはログに記録されていますが、この操作が認証を無効化する直接的な効果については、さらなる検証が必要です。
ローダーコードが実行されています。 インジェクション後、Firehoseローダーは基本的なコマンド (nop) に応答し、認証エラー (Only nop and sig tag...) は観測されません。これによりコードがアクティブであることが確認されますが、正確な実行コンテキスト (Non‑Secure World または過渡状態) についてはさらなる分析が必要です。
完全なUFSアクセスはまだ得られていません。 getstorageinfo などのコマンドは空の応答を返します。ローダーは診断情報 (TargetName、MemoryName、Version) を提供しません。これは初期化が不完全であることを示しています。
ハッシュエラー時のPBLの動作 (標準の署名検証ブート下) が確立されました。 参照ファイル内のハッシュテーブルを意図的に破損すると、元のツール (edl、qdl) で一貫して 48 ステータスエラー (SAHARA_NAK_HASH_VERIFICATION_FAILURE) が発生します。これが検証のベースラインとなります。
現在のステータス:
完全なFirehose初期化を達成するための残りの手順を積極的に調査中です。2つの主な仮説を検証しています:
並行して、FirehoseのTrustZone依存性に関する仮説を調査します: ドライバがUFSアクセスにSMC呼び出しを使用している場合、パッチによって無効化する必要があります。
作業は進行中です。新しい結果が得られ次第、リポジトリは更新されます。
リポジトリ構造:
├── README.md
├── docs/
│ └── README_ru.md
├── article/
│ ├── article_en.md
│ └── article_ru.md
├── evidence/
│ ├── pbl_status_en.md
│ └── pbl_status_ru.md
│ ├── ghidra_analysis_en.md
│ └── ghidra_analysis_ru.md
│ └── cve_injection_log_en.md
│ └── cve_injection_log_ru.md
└── tools/
├── README_en.md
└── README_ru.md
⚠️ 責任ある開示:
この成果は教育および研究目的で公開されています。完全なエクスプロイトコードは提供されていません。説明されている詳細は検証とさらなる研究には十分ですが、攻撃のための既製ツールは含まれていません。
📬 連絡先:
質問や共同作業については、このリポジトリでissueを開いてください。
最終更新日: 2026年7月