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-64705 — Análise de causa raiz e prova de conceito para CVE-2026-64705, um estouro de heap no kernel do macOS HFS xattr. Inclui imagem HFS+ armamentada, patcher, parser e relatório detalhado para pesquisa educacional e defensiva. | Kitploit
Ferramentas/GitHubGitHub/eddinos2/cve-2026-64705
Frameworks de ExploraçãoAnálise de VulnerabilidadesExploraçãoAnálise de BináriosAprendizado e Educação
GitHubeddinos2/cve-2026-64705

CVE-2026-64705

Análise de causa raiz e prova de conceito para CVE-2026-64705, um estouro de heap no kernel do macOS HFS xattr. Inclui imagem HFS+ armamentada, patcher, parser e relatório detalhado para pesquisa educacional e defensiva.

Ver Repositório
há 1 diaAinda 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-64705 — Estouro de heap do xattr do HFS no kernel (macOS)

Análise de causa-raiz e prova de conceito para CVE-2026-64705, um estouro de buffer na extensão de kernel HFS corrigido no macOS Sonoma 14.8.7 (HT127117):

HFS — Impacto: um app pode causar término inesperado do sistema ou gravar memória do kernel. Um estouro de buffer foi resolvido com verificação de limites aprimorada.

O PoC é uma imagem de disco HFS+ armamentada. Montá-la e ler um atributo estendido manipulado leva o kext HFS a um loop bcopy de 64 bytes sem limite em um buffer de heap do kernel de 512 bytes → estouro de heap do kernel com conteúdo de disco controlado pelo atacante → pânico em builds vulneráveis. Nível de travamento/pânico — não RCE.

  • Vulnerável: macOS ≤ 14.8.5 (kext hfs 650.140.2) e outras ramificações anteriores à correção
  • Corrigido: macOS 14.8.7 (hfs 650.140.2.701.4) — adiciona verificações de transporte adds/b.hs, término de contagem zero e rejeição de total==0 / total>expected
  • Strings do patch (o contrato do validador): hfs_setxattr: %s has a malformed overflow extent, o mesmo para getxattr.

Conteúdo

arquivoo quê
poc-cve-2026-64705.dmgImagem HFS+ armamentada de 32 MB (arquivo de gatilho + registros xattr manipulados)
weaponize.pyO patcher que construiu a imagem — re-deriva cada deslocamento da própria imagem; funciona em qualquer imagem base compatível
parse_attr.pyParser da árvore B de atributos usado para localizar/despejar os registros xattr
BUILD.mdReceita completa de build a partir de uma imagem base limpa + os deltas hexadecimais exatos
WRITEUP.mdAnálise de causa-raiz: diff do kext (14.8.5 vs 14.8.7), loop vulnerável, mecanismo

Gatilho

Em um sistema anterior à correção (ou uma VM sacrificial — isso causa pânico no kernel):

root@kitploit:~
hdiutil attach -nobrowse poc-cve-2026-64705.dmg
xattr -l /Volumes/CVE64705/trigger.txt     # estouro de heap do kernel -> pânico

Em um sistema corrigido, a mesma imagem monta normalmente e o gatilho é rejeitado pelo novo validador — você pode observar a prova diferencial no log do kernel:

root@kitploit:~
hfs_getxattr: bigattr has a malformed overflow extent

o que também confirma que o registro manipulado leva a execução exatamente para o caminho corrigido (e anteriormente vulnerável).

Reconstruindo a imagem

root@kitploit:~
hdiutil create -fs HFS+ -size 32m -volname CVE64705 base.dmg
hdiutil attach -nobrowse base.dmg
echo trigger > /Volumes/CVE64705/trigger.txt
xattr -w bigattr "$(head -c 8192 /dev/zero | base64)" /Volumes/CVE64705/trigger.txt
hdiutil detach /Volumes/CVE64705
python3 weaponize.py          # -> poc-cve-2026-64705.dmg

O bug em um parágrafo

Para um xattr grande armazenado como kHFSPlusAttrForkData, hfs_getxattr_internal (e o espelhado hfs_setxattr_internal) percorre os 8 descritores de extensão do registro de estouro. count_extent_blocks() ignora qualquer descritor cujo blockCount exceda o total esperado e retorna a soma de 32 bits sem verificação de transporte ou zero. Se cada blockCount exceder o total, a contagem retorna 0, blkcnt nunca avança, e o loop while (blkcnt < totalblocks) continua copiando 64 bytes controlados pelo atacante por iteração além de um buffer de heap de totalblocks*8 bytes. A variante de quebra de inteiro (blockCounts somando além de 2^32) é a mesma verificação ausente; o patch 14.8.7 elimina ambas.

Para fins educacionais e de pesquisa defensiva. O bug está corrigido no macOS atual; teste apenas em máquinas que você possui.

Baixar ferramenta