Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 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
83há 26 diasAinda 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


Status Atual do Projeto


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


Endereços Chave (System.map do 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

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

RepositórioDispositivoKernelArquitetura
x-spy/CVE-2026-43499-popsicle

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

root@kitploit:~
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.

Nota do Autor

Huawei, você me lascou, queimou meu token do deepseek V4 Pro de 30 RMB.

Baixar ferramenta
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)
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
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
Xiaomi 17 Pro Max
6.12.23
ARM64
pubglite55/oppo-ghostlockOPPO Find N25.10.236ARM64