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
POC-CVE-2025-6554 — Exploit proof-of-concept per CVE-2025-6554, una vulnerabilità del motore JavaScript V8 che consente l'accesso non autorizzato a valori 'Hole' non inizializzati tramite optional chaining, provocando confusione di tipo e manipolazione della memoria. | Kitploit
Strumenti/GitHubGitHub/ghostn4444/poc-cve-2025-6554
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPaper e RicercaApprendimento e FormazioneBinary Exploitation
GitHubghostn4444/poc-cve-2025-6554

POC-CVE-2025-6554

Exploit proof-of-concept per CVE-2025-6554, una vulnerabilità del motore JavaScript V8 che consente l'accesso non autorizzato a valori 'Hole' non inizializzati tramite optional chaining, provocando confusione di tipo e manipolazione della memoria.

Vedi Repository
1121 anno 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-2025-6554

CVE-2025-6554 è una vulnerabilità nell'interprete V8 (Engine JavaScript) di Chrome (Hole Check 'controllo inadeguato in variabili non intenzionali all'interno di espressioni con optional chaining). Il POC (CVE-2025-6554-POC.JS) esplora un difetto nel meccanismo di verifica del "Hole" nelle variabili prima dell'uso, consentendo la lettura di valori non inizializzati — un comportamento normalmente bloccato da un riferimento.

root@kitploit:~
function leak_hole() {
    let x;
    delete x?.[y]?.a;
    return y;
    let y;
}
function pwn() {
    let hole = leak_hole();
    %DebugPrint(hole);
}
pwn();

Spiegazione Tecnica

1. Struttura del Codice Vulnerabile

let x; e let y; dichiarano variabili nell'ambito locale. La riga delete x?.[y]?.a utilizza optional chaining per accedere in modo sicuro a una proprietà annidata. Problema: la variabile y viene utilizzata prima della sua dichiarazione, il che dovrebbe generare un errore di riferimento, ma nelle versioni precedenti di V8 questo falliva silenziosamente, permettendo di catturare il valore speciale chiamato "The Hole" (segnaposto per variabili in TDZ — Temporal Dead Zone). Il valore di ritorno () nel codice non dovrebbe essere accessibile perché è ancora in TDZ. Ma il fallimento lo consente.

return y
y

2. Comportamento prima della patch

Il meccanismo che impedisce l'accesso a variabili in TDZ è ThrowReferenceErrorIfHole. Prima della patch, questo meccanismo veniva invocato una sola volta durante delete x?.[y]?. V8 internamente marcava che la variabile y era già stata verificata come "non essere un hole", ma questa verifica sfuggiva dall'ambito controllato, e quindi non veniva rivalutata durante return y.

3. Cosa è stato corretto

La patch aggiunge un'altra chiamata obbligatoria a ThrowReferenceErrorIfHole su return y, assicurando che qualsiasi tentativo di accedere a y prima della dichiarazione generi correttamente un errore. Questa verifica è stata garantita dallo scope OilCheckEtscope, che è stato incluso in tutte le chiamate a OptionalChainNullLabelScope.

Flusso dell'attacco

root@kitploit:~
```Js
Delete x?. [Y]?. → Try to access Y (not initialized) → Failure to check "Hole" 
→ Y escapes as value → return y; → Capture the value of "Hole" → Debugprint reveals

L'attaccante, catturando questo "Hole", può inferire sullo stato interno del motore V8, facilitando attacchi come:

  • Type Confusion (esplorazione di confusione di tipo)
  • Manipolazione dello stack
  • Elusione dei controlli di ambito
Scarica lo strumento