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-78938 — Análise de causa raiz e exploit funcional para CVE-2026-78938, uma confusão de tipos no V8 TurboFan que leva a leitura/escrita arbitrária dentro do heap compactado. Inclui PoC de crash e primitivas endereçadas em tempo de execução. | Kitploit
Ferramentas/GitHubGitHub/eddinos2/cve-2026-78938
Análise de VulnerabilidadesExploraçãoSegurança WebExploração de Binários
GitHubeddinos2/cve-2026-78938

CVE-2026-78938

Análise de causa raiz e exploit funcional para CVE-2026-78938, uma confusão de tipos no V8 TurboFan que leva a leitura/escrita arbitrária dentro do heap compactado. Inclui PoC de crash e primitivas endereçadas em tempo de execução.

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-78938 — Confusão de tipos na migração de instância do CheckMaps do V8 TurboFan

Análise de causa-raiz e exploit para CVE-2026-78938, uma confusão de tipos na eliminação de cargas do TurboFan do V8 que foi corrigida no Chrome 152.0.7977.64 (V8 15.2.124.18). O bug foi reportado como explorado ativamente na natureza.

O exploit transforma o bug em um Float64Array fora dos limites e, a partir daí, em addrof / fakeobj e leitura/escrita arbitrária sobre o heap compactado do V8. Tudo após a escrita inicial é localizado em tempo de execução — não há offsets de heap codificados no estágio de R/W.

  • Afetado: Chrome 152.0.7977.54 (V8 15.2.124.13, commit 8ec91943)
  • Corrigido: Chrome 152.0.7977.64/.65 (V8 15.2.124.18, commit 6aacaf62)
  • Commit da correção: 50597b0bb48a — "[compiler] Invalidate tracked fields on CheckMaps with instance migration"

Testado em macOS arm64 contra um d8 compilado localmente de ambas as versões.

Conteúdo

arquivoo que é
pocs/crash.jsGatilho mínimo. SIGBUS na build vulnerável, saída limpa na corrigida.
pocs/rw_final.jsExploit completo, estágio 1: gatilho + array OOB. Congelado — veja "Reproduzindo" abaixo.
pocs/logic_final.jsExploit completo, estágio 2: addrof/fakeobj/R\W arbitrário, carregado em tempo de execução pelo estágio 1.
WRITEUP.mdAnálise completa de causa-raiz e notas de exploração.

Reproduzindo

Compile as duas versões do d8 (veja WRITEUP.md para os commits exatos e argumentos GN), depois, a partir da raiz do repositório:

root@kitploit:~
# PoC de crash: SIGBUS na vulnerável, limpo na corrigida
out/vuln/d8    --allow-natives-syntax --homomorphic-ic --max-valid-polymorphic-map-count=4 pocs/crash.js
out/patched/d8 --allow-natives-syntax --homomorphic-ic --max-valid-polymorphic-map-count=4 pocs/crash.js

# R/W completo: funciona na vulnerável, aborta limpo na corrigida
out/vuln/d8 --allow-natives-syntax --homomorphic-ic --max-valid-polymorphic-map-count=4 pocs/rw_final.js

Saída esperada na build vulnerável:

root@kitploit:~
[+] OOB Float64Array len=0x7f000004
[+] after write: victim2.z = 2.5
[+] fakeobj(hn|1) typeof=number
[+] ALL PRIMITIVES VERIFIED

Duas coisas importam:

  1. As flags são obrigatórias. --homomorphic-ic --max-valid-polymorphic-map-count=4 moldam o feedback de mapas polimórficos para que o caminho de migração seja percorrido no código otimizado. Sem elas, o gatilho silenciosamente não faz nada.
  2. pocs/rw_final.js está congelado em bytes. A única escrita corruptora cai em um offset relativo ao heap que depende de onde o array vítima é alocado, que por sua vez depende dos bytes exatos e do caminho do script. Editar o arquivo (ou renomeá-lo) invalida o offset embutido; WRITEUP.md documenta como recalibrar. pocs/logic_final.js é carregado após o gatilho disparar, então pode ser editado livremente.

Notas

  • A primitiva demonstrada é leitura/escrita arbitrária dentro do sandbox do V8 (o heap compactado). Obter execução de código adicionalmente requer uma saída do sandbox (ex.: corromper a região de código RWX de uma instância Wasm), o que está fora do escopo deste documento.
  • Todos os endereços no exploit são descobertos em tempo de execução. O único valor embutido é o offset de escrita única em pocs/rw_final.js, pelas razões acima.

Este repositório é para fins educacionais e de pesquisa defensiva. O bug está corrigido no Chrome atual; os detalhes são públicos na árvore de fontes do V8.

Baixar ferramenta