
DirtyFrag CVE-2026-43284 の 5.4-qgki デバイス向け調査
日付: 2026-10-07/08 デバイス: Redmi Note 11 Pro 5G (veux, 5.4.274-qgki) & POCO X5 5G (moonstone, 5.4.191-qgki) SoC: Snapdragon 695 (SM6375)
| CVE | ステータス | 備考 |
|---|---|---|
| CVE-2026-43284 (DirtyFrag) | ❌ 不可 | MSG_SPLICE_PAGES (カーネル 6.5+) が必要 |
| CVE-2026-24088 (Qualcomm fastboot) | ⚠️ ブートローダー依存 | TheFliss: 彼のデバイスでは「unknown command」 |
| CVE-2022-2602 (io_uring UAF) | ❌ 不可 | カーネルが register パスをブロック (EFAULT/EINVAL) |
| CVE-2022-20421 (BadSpin) | ❌ 試行済み、成功せず | ビルドは成功、レースに勝てずループ |
| CVE-2023-20938 (binder UAF) | ✅ 脆弱 (両方) | 未試行 |
| CVE-2023-4622 (af_unix UAF) | ✅ 脆弱 (両方) | 未試行 |
| CVE-2026-43499 (GhostLock) | ❓ 脆弱の可能性 | GhostLock アプリは設計上 5.4 では動作しない |
| KGSL CVE (5件) | ❓ 脆弱の可能性 | 2024-38399 には解説+PoC あり |
判定: 5.4 では実現不可能。
このバグは 5.4 に存在する (コードは 4.11 由来) が、エクスプロイトにはページキャッシュ書き込みプリミティブのための MSG_SPLICE_PAGES UDP サポートが必要である。これはカーネル 6.5 で導入された。5.4 では UDP への splice() は通常のコピーを行い、共有ページのアタッチは行われない。
CVE-2026-43500 (RxRPC 変種) も適用外 — RxRPC コードは 6.8 で導入された。
リポジトリ: https://github.com/HirokiAkihiko/dirtyfrag-research
判定: ブートローダー依存であり、汎用的ではない。
Qualcomm ABL のバグ: fastboot oem set-gpu-preemption が引数をサニタイズせず、カーネル cmdline への androidboot.selinux=permissive の注入を可能にする。
テスト結果 (TheFliss): FAILED (remote: 'unknown command') — 彼のブートローダーはこのコマンドを実装していない。この CVE は特定の ABL ビルドに依存する。
判定: これらのデバイスでは不可。カーネルが register パスを積極的にブロックしている。
実施した作業:
知見:
CONFIG_IO_URING=y を確認io_uring_setup はプレーンなフラグで動作 (SQPOLL はブロック → CAP_SYS_ADMIN が必要)IORING_REGISTER_FILES → EFAULT (生の SVC 経由でも一貫して発生)IORING_REGISTER_BUFFERS → EINVALUAF プリミティブには IORING_REGISTER_FILES の成功が必要である。これがなければ、エクスプロイトチェーンは進行できない。
バンドル: ~/workspace/cve-2022-2602-bundle/ (ソース、バイナリ、診断)
判定: ビルドと実行は可能だが、veux では成功しない。
実施した作業:
mateusvdcastro/badspinexploit.c の SPL チェックを削除 (find_dev_config())dev_config.h に veux デバイスエントリを追加 (モデル 2201116SG、Android 13、カーネル 5.4.274、SPL 2024-12)libbadspin.so (345K、ARM64)TEST_VULN=1 を指定してデバイス上でテストテスト結果: dev_config_init が当初失敗 (SPL 月の不一致: エントリは month=1、デバイスは 2024-12)。GitHub 経由で修正。修正後、エクスプロイトは実行され脆弱性をトリガーする (「Trigger use-after-free」) が、レースコンディションに勝てず無限にループする。
リポジトリ: https://github.com/HirokiAkihiko/badspin-veux (プライベート)
bdc1c5fac982 と 4df153652cc4 が Xiaomi のソースに存在しない4821df2ffe38 が存在せず、skb_peek_tail は依然としてロックレスcurrent->pi_blocked_on = NULL が存在)バージョンラベルは誤解を招く。 veux-r-oss は 5.4.274 と表示されているが、 本来含まれているはずの stable 5.4.y のバックポートが欠けている(2023-06 の binder 修正、2023-08 の af_unix 修正)。常にバージョン番号ではなく、 コードレベルで検証すること。
~/workspace/cve-2022-2602-bundle/~/workspace/cve-hunt/