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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-43499-armv7 | Kitploit
ツール/GitHubGitHub/tc3650/cve-2026-43499-armv7
組み込みシステムセキュリティ特権昇格脆弱性分析エクスプロイトハードウェアセキュリティペイロード開発バイナリエクスプロイト
GitHubtc3650/cve-2026-43499-armv7

CVE-2026-43499-armv7

リポジトリを見る
8326日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-43499 GhostLock — ARM32 Huawei Watch 4 Pro

CVE-2026-43499 (GhostLock) に基づく Linux カーネル権限昇格エクスプロイトの試み — Huawei Watch 4 Pro (MDS-AL00, armv7l)

Kernel: 5.4.161 Device: Huawei Watch 4 Pro Arch: ARM32 v7 Status: Blocked

プロジェクト概要

本プロジェクトは、Huawei Watch 4 Pro (MDS-AL00, Snapdragon SW5100, HarmonyOS 4.3.0 AOSP 12) デバイス向けの GhostLock カーネルエクスプロイトの試みであり、ARM 32-bit (armv7l) アーキテクチャに適応させたものです。

GhostLock (CVE-2026-43499) は、Linux 2.6.39 から 7.x に影響するカーネルの futex PI UAF 脆弱性です。本プロジェクトの目標は、Huawei ウォッチ上で完全な権限昇格チェーンを完成させることです。

元リポジトリ: MobiusM/CVE-2026-43499 (arm64 版 PoC)


デバイス情報

パラメータ値
デバイスHuawei Watch 4 Pro (MDS-AL00)
カーネル5.4.161-perf (ARM32 armv7l)
システムHarmonyOS 4.3.0 (AOSP 12)
CPUSnapdragon SW5100
SELinuxEnforcing (CONFIG_SECURITY_SELINUX_DEVELOP=n)
KASLR無効
MMUCONFIG_STRICT_KERNEL_RWX=y
スタックNX (カーネルスタックは実行不可)
mmap(0)Huawei による追加ブロック (-EINVAL、標準の -EACCES ではない)

現在のプロジェクト状態


主要なボトルネック

1. 2 回目の rb_erase がトリガーされない (根本的な問題)

kernel 5.4.161 ARM32 では、FUTEX_CMP_REQUEUE_PI が EDEADLK をトリガーした後、PI チェーン走査は2 回目の rb_erase を実行しません。GhostLock 64 が依存する UAF → 2 回目の rb_erase による UAF ページへの書き込みという連鎖的エクスプロイトは、このカーネルでは完全に機能しません。

すべての 8-iov writev スプレーバリアントが失敗: sc[0] after = e3a0002a (シェルコードページが書き込まれていない)。

2. iovstack と rt_mutex_waiter がアラインしない

ghostlock64 の 8-iov writev スプレーは、カーネルスタック上の iovstack[8] 配列と rt_mutex_waiter 構造体のオーバーラップに依存しています。このカーネルでは:

  • 11 種類の異なるオフセット × 左右の子 = 22 種類のレイアウトをテスト
  • clear_refs_operations.write の書き換えに成功したものは皆無
  • 考えられる原因: このカーネルのスタックレイアウト (フレームサイズ、ローカル変数の位置) が ghostlock64 の想定と異なる

3. sched_setattr の PI チェーン走査が owner のデータを操作する

sched_setattr は PI チェーン走査を正常にトリガーできますが(success=1600+ を検証済み)、rb_erase が操作するのは OWNER スレッドの pi_tree_entry(kmalloc ヒープ上の task_struct 内に位置)であり、waiter スレッドのスタックデータ(fd_set writev データ)ではありません。

したがって、pselect + sched_setattr のルートでも書き込み値を制御することはできません。

4. Huawei カーネルの追加制限

  • mmap(0, ..., MAP_FIXED, ...) は -EINVAL を返す。標準 Linux の -EACCES ではない
  • CONFIG_SECURITY_SELINUX_DEVELOP=n → selinux_state.enforcing フィールドが存在しない
  • mremap → ENOSYS

試行済みのルート


主要アドレス (MDS-AL00 の System.map)

root@kitploit:~
commit_creds:           0xC0140390
prepare_kernel_cred:    0xC014059C
proc_clear_refs_ops:    0xC0CAF280  (.write @ +12 = 0xC0CAF28C)
mmap_min_addr:          0xC12E8568
dac_mmap_min_addr:      0xC123C734
selinux_hooks[mmap]:    0xC0F64E1C

外部リファレンス (ARM64。直接適用不可)

リポジトリデバイスカーネルアーキテクチャ
x-spy/CVE-2026-43499-popsicle

両リポジトリとも pselect() + sched_setattr による PI チェーンのトリガーと physmap 直接書き込みを使用しており、ARM64 の direct map メカニズムに依存しています。ARM32 には direct map がなく、このカーネルの PI チェーン動作も異なります。


リポジトリのファイル構成

root@kitploit:~
CVE-2026-43499-armv7/
├── config/
│   └── kernel.config       # 设备内核 .config (5.4.161-perf)
├── scripts/
│   ├── ghostlock_all.sh    # 批量测试脚本
│   └── ghostlock_check.sh  # 检测脚本
├── src/
│   ├── ghostlock64.c       # 原始 8-iov 双 erase PoC (基础框架)
│   ├── ghostlock5-33.c     # 早期迭代版本 (ghostlock5 ~ ghostlock33)
│   ├── ghostlock63.c       # ghostlock 6.x 3-iov 变种
│   ├── g62_*.c             # 3-iov 变种 (不同目标地址)
│   ├── g62_8e.c            # 8-iov 精确喷溅 (最终版)
│   ├── g62_scan.c          # 多 iov 偏移扫描
│   ├── g62_self.c          # waiter 自触发 EDEADLK 测试
│   ├── g62_pispray.c       # EDEADLK + slab spray + sched_setattr
│   ├── g62_rand.c          # 写 randomize_va_space 测试
│   ├── gsu_v19.c           # 8-iov + sched_setattr 触发
│   ├── gl_pselect*.c       # pselect + sched_setattr 测试
│   ├── gl_scan.c           # fd_set 偏移扫描
│   ├── sc64.c              # shellcode payload
│   ├── trigger*.c          # 原始触发 PoC (验证漏洞存在)
│   ├── ghostlock_root.c    # 早期 root 尝试
│   └── test_*.c            # 编译/运行测试
├── README.md
├── ghostlock64             # 8-iov 双 erase PoC 二进制
├── ghostlock63             # ghostlock 6.x 3-iov 二进制
├── g62_*                   # 3-iov 变种二进制
├── gl_*                    # pselect 测试二进制
├── gsu                     # sc-page hijack 变种
├── sc64                    # shellcode
├── trigger*                # 原始触发 PoC 二进制
└── test_*                  # 测试二进制

結論

このカーネルバージョン (5.4.161 ARM32) の PI チェーン実装は、GhostLock の二重 rb_erase 任意書き込み技術をサポートしていません。 既知の CVE-2026-43499 エクスプロイトルートはすべてこのデバイスで妨げられています。続行するには、新しい write-0 プリミティブまたは他の脆弱性の発見が必要です。

作者の言葉

Huawei め、よくも嵌めてくれたな。deepseek V4 Pro のトークン 30RMB 分を燃やされた。

ツールをダウンロード
ステージステータス説明
GhostLock FUTEX PI トリガー✅ 検証成功FUTEX_CMP_REQUEUE_PI が EDEADLK (-35) を返す
PI チェーン走査トリガー✅ 検証成功sched_setattr が PI chain walk をトリガー
2 回目の rb_erase❌ 主要ボトルネックこのカーネルの PI チェーン実装は 2 回目の rb_erase に進まない
iovstack アライメント❌ ブロック中8-iov writev スプレーが rt_mutex_waiter と重ならない
mmap(0) バイパス❌ ブロック中Huawei カーネルの追加チェック (-EINVAL)
fops ハイジャック❌ ブロック中制御可能な任意書き込みプリミティブなし
cred 上書き❌ ブロック中上記のボトルネックに制約される
権限昇格完了❌未実装
ルート結果原因
ghostlock64 8-iov writev → FLPI❌2 回目の rb_erase がトリガーされない
ghostlock64 + sched_setattr❌同上。PI チェーンが UAF ページに到達しない
g62 3-iov❌書き込みは可能だが、値がスタックアドレスのためスタック NX で実行不可
pselect + sched_setattr❌rb_erase が owner のヒープデータを操作する
waiter による 2 回目の FLPI 自己トリガー❌EDEADLK の高速パスであり、スタックを読み取らない
iov オフセットスキャン (22 レイアウト)❌すべて重ならない
mm(0) / mremap バイパス❌-EINVAL / ENOSYS
selinux hook のゼロ化❌enforcing フィールドが存在しない
Xiaomi 17 Pro Max
6.12.23
ARM64
pubglite55/oppo-ghostlockOPPO Find N25.10.236ARM64