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-20687-AppleJPEGDriver-UAF — CVE-2026-20687: AppleJPEGDriver startDecoder Timeout UAF — vulnerabilidade do kernel iOS/macOS que leva a pânico adiado (A19 Pro, iOS 26.3 RC) | Kitploit
Ferramentas/GitHubGitHub/0xjohnnydev/cve-2026-20687-applejpegdriver-uaf
Segurança iOSAnálise de VulnerabilidadesExploraçãoSegurança MóvelExploração de Binários
GitHub0xjohnnydev/cve-2026-20687-applejpegdriver-uaf

CVE-2026-20687-AppleJPEGDriver-UAF

CVE-2026-20687: AppleJPEGDriver startDecoder Timeout UAF — vulnerabilidade do kernel iOS/macOS que leva a pânico adiado (A19 Pro, iOS 26.3 RC)

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 →
Ver Repositório
Site
28838há 2 mesesRevisado pelo Kitploit
Compartilhar

CVE-2026-20687: UAF por timeout em startDecoder() do AppleJPEGDriver (panic adiado)

CVE-2026-20687 | Autor: Johnny Franks (@0xjohnny)

Componente: Kernel

Impacto: Um app pode ser capaz de causar o encerramento inesperado do sistema ou escrever na memória do kernel

Descrição: Um problema de use after free foi corrigido com melhorias no gerenciamento de memória.

— Apple Security Content, iOS 26.4 e iPadOS 26.4

Isto causará um kernel panic no seu dispositivo. Salve o seu trabalho.

Testado no iOS 26.3 (23D125) em iPhone18,2 (iPhone 17 Pro Max, A19 Pro).

Gatilho

Gatilho direto:

  1. Execute o PoC e toque em Panic (prepara o driver / enfileira trabalho assíncrono).
  2. Em seguida, abra a Câmera (isto causa de forma confiável um decode JPEG síncrono + timeout na build afetada).
  3. O caminho de timeout libera uma requisição, mas deixa o ponteiro do nó de fila embutido no vetor por codec.
  4. Uma varredura posterior da fila desreferencia o nó obsoleto e o kernel entra em panic (falha de verificação de tag do MTE).
// PoC: prepara o driver; o panic geralmente é adiado até a Câmera ser aberta.
IOServiceOpen("AppleJPEGDriver");
for (int i = 0; i < N; i++) {
  startDecoder_async();                   // queue_io_gated(): vector.push(req + 0x78)
}
IOServiceClose(conn);

// Mais tarde, abrir a Câmera dispara:
startDecoder_sync();
  queue_io_gated(): vector.push(req + 0x78);
  wait(10s) -> TIMEOUT;
  pool_free(req);                         // BUG: NÃO remove da fila (req + 0x78)

// Mais tarde ainda (finish_io_gated):
fullSpeedRequestExist():
  node_ptr = vector[i];                   // obsoleto: node_ptr == (req liberada + 0x78)
  req2 = *(node_ptr + 0x8);              // leitura UAF de req+0x80 -> falha de tag do MTE -> panic

Compilar e executar

  1. Abra ios-app/Test.xcodeproj no Xcode
  2. Selecione o seu dispositivo iOS (o simulador não é útil)
  3. Compile e execute
  4. Toque no botão Panic
  5. Abra o app Câmera para disparar o panic adiado
Baixar ferramenta