Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-43499-armv7 | Kitploit
Strumenti/GitHubGitHub/tc3650/cve-2026-43499-armv7
Sicurezza Sistemi EmbeddedEscalation di PrivilegiAnalisi delle VulnerabilitàExploitSicurezza HardwareSviluppo PayloadBinary Exploitation
GitHubtc3650/cve-2026-43499-armv7

CVE-2026-43499-armv7

Vedi Repository
8326 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

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

Tentativo di exploit per l'escalation dei privilegi del kernel Linux basato su CVE-2026-43499 (GhostLock) — Huawei Watch 4 Pro (MDS-AL00, armv7l)

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

Panoramica del progetto

Questo progetto è un tentativo di exploit della vulnerabilità del kernel GhostLock per il dispositivo Huawei Watch 4 Pro (MDS-AL00, Snapdragon SW5100, HarmonyOS 4.3.0 AOSP 12), adattato per l'architettura ARM 32-bit (armv7l).

GhostLock (CVE-2026-43499) è una vulnerabilità UAF futex PI del kernel che colpisce Linux 2.6.39 fino a 7.x. L'obiettivo di questo progetto è completare l'intera catena di escalation dei privilegi sullo smartwatch Huawei.

Repository originale: MobiusM/CVE-2026-43499 (PoC per arm64)


Informazioni sul dispositivo


Stato attuale del progetto


Problemi di blocco principali

1. Il secondo rb_erase non viene attivato (il problema più fondamentale)

Sul kernel 5.4.161 ARM32, dopo che FUTEX_CMP_REQUEUE_PI attiva EDEADLK, l'attraversamento della catena PI non esegue il secondo rb_erase. La catena di exploit su cui GhostLock 64 si basa (UAF → secondo rb_erase che scrive nella pagina UAF) fallisce completamente su questo kernel.

Tutte le varianti dello spray writev a 8 iov falliscono: sc[0] after = e3a0002a (la pagina della shellcode non viene scritta).

2. iovstack e rt_mutex_waiter non sono allineati

Lo spray writev a 8 iov di ghostlock64 dipende dalla sovrapposizione tra l'array iovstack[8] sullo stack del kernel e la struttura rt_mutex_waiter. Su questo kernel:

  • Testati 11 offset diversi × figlio sinistro/destro = 22 layout
  • Nessuno riesce a sovrascrivere clear_refs_operations.write
  • Possibile causa: il layout dello stack di questo kernel (dimensione del frame, posizione delle variabili locali) differisce da quello ipotizzato da ghostlock64

3. L'attraversamento della catena PI di sched_setattr opera sui dati dell'owner

sched_setattr riesce ad attivare l'attraversamento della catena PI (verificato con success=1600+), ma rb_erase opera su pi_tree_entry del thread OWNER (situato nella task_struct nell'heap kmalloc), non sui dati dello stack del thread waiter (dati writev di fd_set).

Pertanto nemmeno la strada pselect + sched_setattr può essere usata per controllare il valore scritto.

4. Limitazioni aggiuntive del kernel Huawei

  • mmap(0, ..., MAP_FIXED, ...) restituisce -EINVAL, non il -EACCES del Linux standard
  • CONFIG_SECURITY_SELINUX_DEVELOP=n → il campo selinux_state.enforcing non esiste
  • mremap → ENOSYS

Percorsi tentati


Indirizzi chiave (System.map di MDS-AL00)

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

Riferimenti esterni (ARM64, non direttamente applicabili)

RepositoryDispositivoKernelArchitettura
x-spy/CVE-2026-43499-popsicle

Entrambi i repository usano pselect() + sched_setattr per attivare la catena PI + scrittura diretta in physmap, sfruttando il meccanismo direct map di ARM64. ARM32 non ha la direct map e il comportamento della catena PI di questo kernel è diverso.


Struttura dei file del repository

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_*                  # 测试二进制

Conclusione

L'implementazione della catena PI di questa versione del kernel (5.4.161 ARM32) non supporta la tecnica di scrittura arbitraria basata sul doppio rb_erase di GhostLock. Tutte le strade di exploit note per CVE-2026-43499 sono bloccate su questo dispositivo. È necessario scoprire una nuova primitiva di scrittura zero o un'altra vulnerabilità per proseguire.

Nota dell'autore

Huawei, mi hai fregato per bene: mi hai bruciato 30 RMB di token di DeepSeek V4 Pro.

Scarica lo strumento
ParametroValore
DispositivoHuawei Watch 4 Pro (MDS-AL00)
Kernel5.4.161-perf (ARM32 armv7l)
SistemaHarmonyOS 4.3.0 (AOSP 12)
CPUSnapdragon SW5100
SELinuxEnforcing (CONFIG_SECURITY_SELINUX_DEVELOP=n)
KASLRDisattivato
MMUCONFIG_STRICT_KERNEL_RWX=y
StackNX (stack del kernel non eseguibile)
mmap(0)Intercettazione aggiuntiva di Huawei (-EINVAL, non il -EACCES standard)
FaseStatoDescrizione
Trigger FUTEX PI GhostLock✅ Verifica riuscitaFUTEX_CMP_REQUEUE_PI restituisce EDEADLK (-35)
Trigger attraversamento catena PI✅ Verifica riuscitasched_setattr attiva la PI chain walk
Secondo rb_erase❌ Blocco principaleL'implementazione della catena PI di questo kernel non esegue il secondo rb_erase
Allineamento iovstack❌ BloccatoLo spray writev a 8 iov non si sovrappone a rt_mutex_waiter
Bypass di mmap(0)❌ BloccatoControllo aggiuntivo del kernel Huawei (-EINVAL)
Hijack di fops❌ BloccatoNessuna primitiva di scrittura arbitraria controllata
Sovrascrittura di cred❌ BloccatoLimitata dai blocchi sopra elencati
Escalation completata❌Non implementata
PercorsoRisultatoMotivo
ghostlock64 writev a 8 iov → FLPI❌Il secondo rb_erase non viene attivato
ghostlock64 + sched_setattr❌Come sopra, la catena PI non raggiunge la pagina UAF
g62 3-iov❌Scrive ma il valore è un indirizzo di stack; lo stack NX non è eseguibile
pselect + sched_setattr❌rb_erase opera sui dati heap dell'owner
Auto-FLPI del waiter (secondo tentativo)❌Fast path di EDEADLK, non legge lo stack
Scansione offset iov (22 layout)❌Nessuna sovrapposizione
Bypass di mm(0) / mremap❌-EINVAL / ENOSYS
Azzeramento degli hook SELinux❌Il campo enforcing non esiste
Xiaomi 17 Pro Max
6.12.23
ARM64
pubglite55/oppo-ghostlockOPPO Find N25.10.236ARM64