Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-43499-armv7 — Exploit de escalonamento de privilégios no kernel Linux ARM32 para CVE-2026-43499 (GhostLock futex UAF) visando o Huawei Watch 4 Pro com múltiplas variantes de exploração e análise detalhada de bypass. | Kitploit
Ferramentas/GitHubGitHub/tc3650/cve-2026-43499-armv7
Segurança de Sistemas EmbarcadosEscalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoSegurança de HardwareDesenvolvimento de PayloadsExploração de Binários
GitHubtc3650/cve-2026-43499-armv7

CVE-2026-43499-armv7

Exploit de escalonamento de privilégios no kernel Linux ARM32 para CVE-2026-43499 (GhostLock futex UAF) visando o Huawei Watch 4 Pro com múltiplas variantes de exploração e análise detalhada de bypass.

Ver Repositório
8323há 2 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

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

Tentativa de exploração de privilégio no kernel Linux baseada em 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

Visão Geral do Projeto

Este projeto é uma tentativa de exploração da vulnerabilidade do kernel GhostLock no dispositivo Huawei Watch 4 Pro (MDS-AL00, Snapdragon SW5100, HarmonyOS 4.3.0 AOSP 12), adaptado para arquitetura ARM 32-bit (armv7l).

GhostLock (CVE-2026-43499) é uma vulnerabilidade de kernel futex PI UAF que afeta o Linux 2.6.39 a 7.x. O objetivo deste projeto é completar a cadeia completa de elevação de privilégio no relógio da Huawei.

Repositório original: MobiusM/CVE-2026-43499 (PoC para arm64)


Informações do Dispositivo

ParâmetroValor
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)
KASLRDesativado
MMUCONFIG_STRICT_KERNEL_RWX=y
PilhaNX (stack do kernel não executável)
mmap(0)Bloqueio adicional pela Huawei (-EINVAL, não padrão -EACCES)

Status Atual do Projeto

FaseStatusDescrição
Gatilho GhostLock FUTEX PI✅ Verificado com sucessoFUTEX_CMP_REQUEUE_PI retorna EDEADLK (-35)
Gatilho de travessia da cadeia PI✅ Verificado com sucessosched_setattr aciona a caminhada da cadeia PI
Segundo rb_erase❌ Bloqueio principalEsta implementação da cadeia PI do kernel não executa o segundo rb_erase
Alinhamento iovstack❌ BloqueadoO spray de 8-iov writev não se sobrepõe a rt_mutex_waiter
Bypass do mmap(0)❌ BloqueadoVerificação adicional do kernel da Huawei (-EINVAL)
Sequestro fops❌ BloqueadoNenhuma primitiva de escrita arbitrária controlada
Sobrescrita de cred❌ BloqueadoLimitado pelos bloqueios acima
Elevação de privilégio completa❌Não implementado

Problemas Centrais de Bloqueio

1. Segundo rb_erase não acionado (problema mais fundamental)

No kernel 5.4.161 ARM32, após o FUTEX_CMP_REQUEUE_PI acionar EDEADLK, a travessia da cadeia PI não executa o segundo rb_erase. A exploração em cadeia do GhostLock 64 que depende de UAF → escrita do segundo rb_erase na página UAF falha completamente neste kernel.

Todas as variantes de spray de 8-iov writev falham: sc[0] after = e3a0002a (a página de shellcode não foi escrita).

2. iovstack não alinhado com rt_mutex_waiter

O spray de 8-iov writev do ghostlock64 depende da sobreposição do array iovstack[8] na pilha do kernel com a estrutura rt_mutex_waiter. Neste kernel:

  • Testadas 11 compensações diferentes × filho esquerdo/direito = 22 layouts
  • Nenhum conseguiu sobrescrever com sucesso clear_refs_operations.write
  • Possível causa: o layout da pilha deste kernel (tamanho do frame, posição das variáveis locais) é diferente do assumido pelo ghostlock64

3. A travessia da cadeia PI do sched_setattr opera nos dados do owner

sched_setattr consegue acionar com sucesso a travessia da cadeia PI (verificado success=1600+), mas rb_erase opera no pi_tree_entry da thread OWNER (localizado em task_struct no heap kmalloc), e não nos dados da pilha da thread waiter (dados fd_set writev).

Portanto, a rota pselect + sched_setattr também não pode ser usada para controlar o valor escrito.

4. Restrições adicionais do kernel da Huawei

  • mmap(0, ..., MAP_FIXED, ...) retorna -EINVAL, não o -EACCES padrão do Linux
  • CONFIG_SECURITY_SELINUX_DEVELOP=n → o campo selinux_state.enforcing não existe
  • mremap → ENOSYS

Rotas Tentadas

RotaResultadoMotivo
ghostlock64 8-iov writev → FLPI❌Segundo rb_erase não acionado
ghostlock64 + sched_setattr❌Mesmo que acima, cadeia PI não alcança página UAF
g62 3-iov❌Consegue escrever, mas o valor é endereço de pilha; pilha NX não executável
pselect + sched_setattr❌rb_erase opera nos dados do heap do owner
Segundo FLPI do waiter❌Caminho rápido EDEADLK, não lê pilha
Varredura de compensação iov (22 layouts)❌Todos não se sobrepõem
Bypass mm(0) / mremap❌-EINVAL / ENOSYS
Zerar hook selinux❌Campo enforcing não existe

Endereços Chave (System.map do MDS-AL00)

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

Referências Externas (ARM64, não diretamente aplicável)

RepositórioDispositivoKernelArquitetura
x-spy/CVE-2026-43499-popsicleXiaomi 17 Pro Max6.12.23ARM64
pubglite55/oppo-ghostlockOPPO Find N25.10.236ARM64

Ambos os repositórios usam pselect() + sched_setattr para acionar a cadeia PI + escrita direta no physmap, dependendo do mecanismo de direct map do ARM64. ARM32 não tem direct map, e o comportamento da cadeia PI deste kernel é diferente.


Estrutura de Arquivos do Repositório

CVE-2026-43499-armv7/
├── config/
│   └── kernel.config       # kernel config do dispositivo (5.4.161-perf)
├── scripts/
│   ├── ghostlock_all.sh    # Script de teste em lote
│   └── ghostlock_check.sh  # Script de verificação
├── src/
│   ├── ghostlock64.c       # PoC original de 8-iov duplo erase (estrutura base)
│   ├── ghostlock5-33.c     # Versões de iteração inicial (ghostlock5 ~ ghostlock33)
│   ├── ghostlock63.c       # Variante 3-iov do ghostlock 6.x
│   ├── g62_*.c             # Variantes 3-iov (diferentes endereços alvo)
│   ├── g62_8e.c            # Spray preciso de 8-iov (versão final)
│   ├── g62_scan.c          # Varredura de múltiplas compensações iov
│   ├── g62_self.c          # Teste de auto-acionamento EDEADLK do waiter
│   ├── g62_pispray.c       # EDEADLK + slab spray + sched_setattr
│   ├── g62_rand.c          # Teste de escrita de randomize_va_space
│   ├── gsu_v19.c           # Gatilho 8-iov + sched_setattr
│   ├── gl_pselect*.c       # Teste pselect + sched_setattr
│   ├── gl_scan.c           # Varredura de compensação fd_set
│   ├── sc64.c              # Payload shellcode
│   ├── trigger*.c          # PoC de gatilho original (verificar existência da vulnerabilidade)
│   ├── ghostlock_root.c    # Tentativa inicial de root
│   └── test_*.c            # Teste de compilação/execução
├── README.md
├── ghostlock64             # PoC binário 8-iov duplo erase
├── ghostlock63             # Binário variante 3-iov ghostlock 6.x
├── g62_*                   # Binários variantes 3-iov
├── gl_*                    # Binários de teste pselect
├── gsu                     # Variante de sequestro sc-page
├── sc64                    # Shellcode
├── trigger*                # PoC de gatilho original binário
└── test_*                  # Binários de teste

Conclusão

A implementação da cadeia PI desta versão do kernel (5.4.161 ARM32) não suporta a técnica de escrita arbitrária de duplo rb_erase do GhostLock. Todas as rotas de exploração conhecidas do CVE-2026-43499 são bloqueadas neste dispositivo. É necessário descobrir novas primitivas de escrita de zero ou outras vulnerabilidades para continuar.

Baixar ferramenta