Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-78938 — Analisi delle cause profonde ed exploit funzionante per CVE-2026-78938, una type confusion in V8 TurboFan che porta a lettura/scrittura arbitraria all'interno dell'heap compresso. Include PoC di crash e primitive indirizzate a runtime. | Kitploit
Strumenti/GitHubGitHub/eddinos2/cve-2026-78938
Analisi delle VulnerabilitàExploitSicurezza WebBinary Exploitation
GitHubeddinos2/cve-2026-78938

CVE-2026-78938

Analisi delle cause profonde ed exploit funzionante per CVE-2026-78938, una type confusion in V8 TurboFan che porta a lettura/scrittura arbitraria all'interno dell'heap compresso. Include PoC di crash e primitive indirizzate a runtime.

Vedi Repository
1 giorno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-78938 — Confusione di tipo CheckMaps con migrazione di istanza in V8 TurboFan

Analisi delle cause profonde ed exploit per CVE-2026-78938, una confusione di tipo nell'eliminazione dei carichi di TurboFan di V8, corretta in Chrome 152.0.7977.64 (V8 15.2.124.18). Il bug è stato segnalato come sfruttato in natura.

L'exploit trasforma il bug in un Float64Array fuori dai limiti e da lì in addrof / fakeobj e lettura/scrittura arbitraria sull'heap compresso di V8. Tutto ciò che segue la scrittura iniziale viene individuato a runtime — non ci sono offset di heap hardcoded nella fase R/W.

  • Interessati: Chrome 152.0.7977.54 (V8 15.2.124.13, commit 8ec91943)
  • Corretti: Chrome 152.0.7977.64/.65 (V8 15.2.124.18, commit 6aacaf62)
  • Commit di fix: 50597b0bb48a — "[compiler] Invalidate tracked fields on CheckMaps with instance migration"

Testato su macOS arm64 contro una d8 compilata localmente di entrambe le versioni.

Contenuti

filecosa contiene
pocs/crash.jsTrigger minimale. SIGBUS sulla build vulnerabile, uscita pulita su quella corretta.
pocs/rw_final.jsExploit completo, fase 1: trigger + array OOB. Congelato — vedi "Riproduzione" sotto.
pocs/logic_final.jsExploit completo, fase 2: addrof/fakeobj/R\W arbitraria, caricato a runtime dalla fase 1.
WRITEUP.mdAnalisi completa delle cause profonde e note sullo sfruttamento.

Riproduzione

Compila le due versioni di d8 (vedi WRITEUP.md per i commit esatti e gli argomenti GN), poi dalla radice del repository:

root@kitploit:~
# PoC di crash: SIGBUS su vuln, pulito su patched
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: funziona su vuln, esce pulito su patched
out/vuln/d8 --allow-natives-syntax --homomorphic-ic --max-valid-polymorphic-map-count=4 pocs/rw_final.js

Output atteso sulla build vulnerabile:

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

Due cose contano:

  1. I flag sono obbligatori. --homomorphic-ic --max-valid-polymorphic-map-count=4 modellano il feedback delle mappe polimorfiche così che il percorso di migrazione venga seguito nel codice ottimizzato. Senza di essi il trigger non fa silenziosamente nulla.
  2. pocs/rw_final.js è congelato byte per byte. L'unica scrittura corruttrice atterra su un offset relativo all'heap che dipende da dove viene allocato l'array vittima, che a sua volta dipende dai byte esatti e dal percorso dello script. Modificare il file (o rinominarlo) invalida l'offset incorporato; WRITEUP.md documenta come ricalibrarlo. pocs/logic_final.js viene caricato dopo che il trigger scatta, quindi può essere modificato liberamente.

Note

  • La primitiva dimostrata è la lettura/scrittura arbitraria all'interno della sandbox di V8 (l'heap compresso). Ottenere l'esecuzione di codice richiede inoltre un'uscita dalla sandbox (ad es. corrompere la regione di codice RWX di un'istanza Wasm), che è fuori dallo scopo di questo documento.
  • Tutti gli indirizzi nell'exploit vengono scoperti a runtime. L'unico valore incorporato è il singolo offset di scrittura in pocs/rw_final.js, per i motivi sopra indicati.

Questo repository è a scopo di ricerca educativa e difensiva. Il bug è corretto nel Chrome attuale; i dettagli sono pubblici nell'albero dei sorgenti di V8.

Scarica lo strumento