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-85046 — Proof-of-concept e analisi tecnica per CVE-2026-85046, una type confusion in V8 nell'inline di Array.prototype.sort, inclusi root cause, diff della patch e catena di sfruttamento per Chrome < 152.0.7977.82. | Kitploit
Strumenti/GitHubGitHub/atiilla/cve-2026-85046
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebAnalisi di BinariPaper e RicercaApprendimento e Formazione
GitHubatiilla/cve-2026-85046

CVE-2026-85046

Proof-of-concept e analisi tecnica per CVE-2026-85046, una type confusion in V8 nell'inline di Array.prototype.sort, inclusi root cause, diff della patch e catena di sfruttamento per Chrome < 152.0.7977.82.

Vedi Repository
7h 44m faNon ancora revisionato
Sito web

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-85046

Confusione di tipo V8 nell'Array.prototype.sort inline (Maglev + Turbofan). Sesto zero-day di Chrome del 2026.

CampoValore
CVSS8.8 (Alto)
CWECWE-843 (Confusione di tipo)
ComponenteMotore JavaScript V8 -- sort inline Maglev/Turbofan
InteressatiChrome < 152.0.7977.82, tutti i browser basati su Chromium
CorrettoChrome 152.0.7977.82 (2026-09-03)
Commit di correzionee0562d87ad9c17042b581582c99237d798572e67
CISA KEVAggiunto 2026-09-04, scadenza 2026-09-18
Sfruttamento in naturaSì (confermato da Google)
SegnalatoreSalvatore Gulizia (Serotav)

Causa principale

L'ottimizzazione del sort inline accetta feedback polimorfico del tipo di elementi (PACKED_SMI_ELEMENTS + PACKED_ELEMENTS). Quando il comparatore chiama arr.fill(0), V8 migra la mappa del ricevente all'indietro da PACKED_ELEMENTS a PACKED_SMI_ELEMENTS. Il controllo della mappa post-sort viene superato perché PACKED_SMI_ELEMENTS era nel set di feedback originale. La scrittura di ritorno scrive puntatori a oggetti in un array la cui mappa dichiara elementi solo SMI.

La correzione aggiunge una precondizione che richiede che tutte le mappe del ricevente nel feedback condividano lo stesso elements_kind prima di inlining del sort.

File

FileDescrizione
patch-analysis.mdAnalisi completa del diff della patch con causa principale, meccanismo di attivazione e valutazione delle primitive di sfruttamento
patch-analysis.jsonDati strutturati: hash dei commit, CWE, versioni interessate, primitive di sfruttamento
v8-research.mdApprofondimento sui tipi di elementi V8, PoC precedenti (CVE-2020-6418, CVE-2025-2135, CVE-2024-4947, ecc.), architettura sandbox, tecniche di escape
poc-minimal.jsAttivazione minima della confusione di tipo per d8 (d8 --allow-natives-syntax poc-minimal.js)
poc.htmlCatena di sfruttamento completa: confusione di tipo, primitiva addrof, heap spray, fakeobj tramite sovrapposizione del backing store, leak di informazioni
exploit-notes.mdDocumentazione tecnica: catena passo-passo, diagrammi del layout dell'heap, compressione dei puntatori, impatto della sandbox, indicatori di rilevamento, rimedio

Avvio rapido

Attivazione minima (d8)

root@kitploit:~
# Con helper di debug V8
d8 --allow-natives-syntax poc-minimal.js

# Senza (verifica euristica tramite String())
d8 poc-minimal.js

PoC completo (browser)

Aprire poc.html in Chrome < 152.0.7977.82. L'exploit viene eseguito automaticamente e registra ogni fase nella pagina e nella console sviluppatore. Fasi:

  1. Addestramento JIT con feedback polimorfico del tipo di elementi (2000 iterazioni)
  2. Attivazione della confusione di tipo tramite arr.fill(0) nel comparatore del sort
  3. Primitiva addrof -- rivela puntatori compressi dell'heap come interi
  4. Heap spray per la sovrapposizione del backing store di array double/object
  5. fakeobj tramite sovrapposizione -- forgia riferimenti a oggetti da interi controllati
  6. Leak di informazioni -- scarica gli indirizzi dell'istanza WebAssembly, window, document

Riepilogo della catena di sfruttamento

root@kitploit:~
Addestramento (2000 iter)
  |
  v
Confusione di tipo: mappa PACKED_ELEMENTS -> mappa PACKED_SMI_ELEMENTS
                (il backing store contiene ancora puntatori a oggetti)
  |
  v
addrof: String(array_confuso) rivela puntatori come interi
  |
  v
fakeobj: la sovrapposizione double/object array scrive un puntatore controllato
  |
  v
JSArray falso con puntatore agli elementi controllato -> R/W arbitrario (intra-cage)
  |
  v
Esecuzione di codice all'interno della sandbox V8 (richiede escape dalla sandbox per RCE completo)

Dettagli tecnici chiave

  • La lunghezza dell'array deve essere <= 16 (kMaxInlineSortLength)
  • Sono necessarie ~1000-2000 iterazioni per l'ottimizzazione Maglev/Turbofan
  • Il comparatore deve chiamare arr.fill() con valori SMI per la migrazione all'indietro della mappa
  • Durante l'addestramento devono essere passati sia array PACKED_SMI che PACKED_ELEMENTS
  • addrof rivela puntatori compressi a 32 bit (relativi alla cage, non VA completo a 64 bit)
  • La sandbox dell'heap V8 limita lo sfruttamento a R/W intra-cage senza una seconda vulnerabilità

Riferimenti

  • Bug Chromium: crbug/542403045 (riservato)
  • Commit di correzione: e0562d87
  • Commit di introduzione: 66a3f1e9
  • Writeup di Serotav: https://serotav.github.io/Writeups/v8/when-sorting-leads-to-confusion/
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-85046
Scarica lo strumento