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-65343-e7eb2ed — PoC para CVE-2026-65343, uma leitura fora dos limites (OOB read) no kernel do AppleKeyStore no iOS 26.6 que vaza ponteiros do kernel para contornar o KASLR a partir de um app em sandbox via captura de handle ACM com DYLD_INTERPOSE. | Kitploit
Ferramentas/GitHubGitHub/hidayat-tanjung/cve-2026-65343-e7eb2ed
Segurança iOSForensia de MemóriaAnálise de VulnerabilidadesExploraçãoPentesting de Apps MóveisEngenharia ReversaSegurança MóvelPapers e PesquisaExploração de Binários

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 →
GitHubhidayat-tanjung/cve-2026-65343-e7eb2ed

CVE-2026-65343-e7eb2ed

PoC para CVE-2026-65343, uma leitura fora dos limites (OOB read) no kernel do AppleKeyStore no iOS 26.6 que vaza ponteiros do kernel para contornar o KASLR a partir de um app em sandbox via captura de handle ACM com DYLD_INTERPOSE.

Ver Repositório
há 17h 47mAinda não revisado
Compartilhar

CVE-2026-65343 — Leitura OOB no AppleKeyStore (Derrota do KASLR)

Componente: extensão de kernel AppleKeyStore — _LibSer_SEPControl_Deserialize
Afetado: iOS / iPadOS 26.6 (23G71) e anteriores
Corrigido em: iOS / iPadOS 26.6.1 (23G83)
Tipo: Leitura fora dos limites na desserialização de mensagens de controle do SEP
Impacto: Vazamento de ponteiro do kernel → derrota do KASLR a partir de um processo em sandbox, sem entitlements (via captura de handle ACM com DYLD_INTERPOSE)


Créditos

Descoberto por: Drinor Selmanaj (Sentry), Surya Narayan Kushwaha
(conforme Apple Security Advisory — iOS 26.6.1)


Causa Raiz

_LibSer_SEPControl_Deserialize na extensão de kernel AppleKeyStore publica um par de um buffer de mensagem ACM (Credential Manager) para o espaço do usuário via , .

(payload_ptr, declared_length)
copyout()
sem validar que declared_length ≤ remaining

Ao fornecer declared_length = 0x800, o driver copia aproximadamente 0x7E8 bytes além do fim do buffer de mensagem ACM do kernel — lendo em alocações adjacentes do heap do kernel. Essas regiões adjacentes contêm ponteiros do kernel (0xfffffff0xxxxxxxx) que podem ser usados para calcular o deslocamento do KASLR.

root@kitploit:~
; _LibSer_SEPControl_Deserialize (affected path, 26.6 / 23G71)
ldr  w2, [acm_msg + declared_length_offset]  ; user-controlled 0x800
; NO check: w2 <= (acm_msg_end - payload_ptr) ← MISSING
bl   copyout                                  ; copies w2 bytes to userspace

Captura de Handle ACM (DYLD_INTERPOSE)

O IOServiceOpen("AppleKeyStore") direto é bloqueado pelo sandbox em apps sideloaded. No entanto, o caminho de assinatura de chave do Secure Enclave do Security.framework chama IOConnectCallMethod no próprio processo com um handle de sessão ACM real.

O PoC usa um hook __DATA,__interpose (que é executado no momento de carregamento do dyld, antes que __DATA_CONST se torne somente leitura — o fishhook é bloqueado no iOS 26 pela proteção DATA_CONST):

  1. Armar a flag de captura do interpose
  2. SecKeyCreateRandomKey(kSecAttrTokenIDSecureEnclave) → SecKeyCreateSignature() → IOConnectCallMethod no próprio processo dispara com um handle ACM real
  3. Capturar (conn, handle[16])
  4. Repetir com declared_length = 0x800 em 163 seletores AKS
  5. Escanear a saída em busca de ponteiros do kernel 0xfffffff0xxxxxxxx → calcular o deslocamento do KASLR

Comportamento do PoC

poc_aks_oob.m implementa a cadeia completa de captura de handle ACM e sondagem OOB:

  • Cria uma chave P-256 do Secure Enclave (kSecAttrAccessibleAfterFirstUnlock, sem biometria)
  • Assina uma mensagem de 32 bytes para disparar a chamada IOKit AKS no próprio processo
  • Repete com declared_length = 0x800 em todos os 163 seletores AKS
  • Imprime quaisquer ponteiros do kernel encontrados em KPTR @+XXXX = 0xfffffff0YYYYYYYY
  • Tenta calcular o deslocamento do KASLR a partir de um offset de símbolo AKS conhecido

Se a assinatura da chave SE for roteada via XPC do secd em vez de no próprio processo, a sondagem de fallback usa um handle zero (confirma a alcançabilidade do caminho OOB; todos os seletores falharão na validação ACM, mas o caminho VNOP é confirmado).


Nota sobre iOS 26: fishhook Bloqueado

No iOS 26, __DATA_CONST (que contém a GOT) é mapeado como somente leitura antes que qualquer código no próprio processo seja executado. Escritas em tempo de execução na GOT (como as usadas pelo fishhook) disparam KERN_PROTECTION_FAILURE → SIGBUS. O DYLD_INTERPOSE via __DATA,__interpose funciona porque o dyld processa a tabela de interpose no momento de carregamento da imagem, antes que o kernel imponha a proteção __DATA_CONST.


Requisitos

  • iOS 26.6 (23G71) ou anterior
  • Acesso ao Secure Enclave (kSecAttrTokenIDSecureEnclave) — disponível para qualquer app sideloaded sem entitlements
  • Nenhuma fuga do sandbox é necessária: a chamada IOKit AKS é feita no próprio processo via Security.framework

Compilação

root@kitploit:~
# Xcode project — link Security.framework and Foundation.framework
clang -arch arm64 \
      -isysroot $(xcrun --sdk iphoneos --show-sdk-path) \
      -framework Security -framework Foundation \
      -o poc poc/poc_aks_oob.m

codesign -s "Apple Development" --entitlements ent.plist poc

Entitlements mínimos (ent.plist):

root@kitploit:~
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"><dict>
    <key>keychain-access-groups</key>
    <array><string>$(AppIdentifierPrefix)com.research.poc65343</string></array>
</dict></plist>

Linha do Tempo

DataEvento
2026-08-17iOS 26.6.1 lançado com a correção
2026-08-17Créditos da Apple publicados no aviso de segurança

Referências

  • Apple Security Advisory — iOS 26.6.1

CVE-2026-65343-e7eb2ed

Baixar ferramenta