
CVE-2026-6307 PoC: Longinus - 2 Boundaries in One Bug https://nebusec.ai/research/v8-cve-2026-6307-writeup/)
इसके नाम से जाना जाता है 'Longinus': एक बग में दो सीमाएँ
रिपॉजिटरी: https://github.com/J4ck3LSyN-Gen2/CVE-2026-6307-Longinus
विस्तृत रिपोर्ट: OS-IS-CVE-2026-6307-07-2026.md
तकनीकी लेख: Nebula Security - Longinus: 2 Boundaries in One Bug
[!WARNING] यह कोड केवल शैक्षिक और अनुसंधान उद्देश्यों के लिए 'जैसा है' प्रदान किया गया है। इस PoC का उपयोग उत्पादन प्रणालियों, साझा वातावरणों, या किसी भी अनधिकृत लक्ष्य पर न करें।
- यह एक्सप्लॉइट एक गंभीर रिमोट कोड एक्ज़ीक्यूशन (RCE) भेद्यता (CVE-2026-6307) प्रदर्शित करता है जो Chrome रेंडरर सैंडबॉक्स को पूरी तरह से समझौता कर सकता है।
- इस कोड को चलाने या होस्ट करने से एंटीवायरस डिटेक्शन, सुरक्षा मॉनिटरिंग अलर्ट, या दुरुपयोग होने पर कानूनी परिणाम ट्रिगर हो सकते हैं।
- लेखक और रिपॉजिटरी अनुरक्षक इस कोड से होने वाली किसी भी क्षति, दुरुपयोग, या अवैध गतिविधि के लिए कोई दायित्व नहीं मानते हैं।
- केवल उचित प्राधिकरण के साथ पृथक प्रयोगशाला वातावरण में उपयोग करें। केवल रक्षात्मक अनुसंधान, भेद्यता विश्लेषण, और ब्लू-टीम परीक्षण के लिए अभिप्रेत है।
इस रिपॉजिटरी में Google V8 के TurboFan कंपाइलर में एक उच्च-गंभीरता वाली टाइप कन्फ्यूजन भेद्यता CVE-2026-6307 ("Longinus") के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट (PoC) शामिल है। यह बग JS-to-WebAssembly कॉल इनलाइनिंग के दौरान FrameStateFunctionInfo में एक अधूरी समानता तुलना से उत्पन्न होता है, विशेष रूप से JSToWasmFrameStateFunctionInfo के signature_ फ़ील्ड को छोड़ देता है।
यह दोष अलग-अलग रिटर्न प्रकारों (externref बनाम i64) वाले FrameState नोड्स के गलत मर्जिंग को सक्षम बनाता है। लेज़ी डिऑप्टिमाइज़ेशन के दौरान, डिऑप्टिमाइज़र रिटर्न रजिस्टरों की गलत व्याख्या करता है, जिससे शक्तिशाली आर्बिट्ररी रीड/राइट प्रिमिटिव मिलते हैं:
addrof(target) - एक JavaScript ऑब्जेक्ट का पता BigInt के रूप में लीक करना।fakeobj(addr) - एक मनमाने पते पर एक नकली JavaScript ऑब्जेक्ट को मटेरियलाइज़ करना।ये प्रिमिटिव उपयुक्त अनुवर्ती तकनीकों के साथ संयुक्त होने पर एक ही भेद्यता में V8 हीप सैंडबॉक्स और रेंडरर सैंडबॉक्स सीमाओं दोनों को भेदते हैं।
प्रभाव: दुर्भावनापूर्ण JavaScript (जैसे, एक तैयार वेबपेज) के माध्यम से सैंडबॉक्स्ड रेंडरर प्रक्रिया के अंदर रिमोट कोड एक्ज़ीक्यूशन (RCE)।
FrameState नोड्स बनाता है जो JSToWasmFrameStateFunctionInfo एम्बेड करते हैं।FrameStateFunctionInfo के लिए समानता ऑपरेटर (==) WebAssembly फ़ंक्शन हस्ताक्षर (signature_) की तुलना नहीं करता है।FrameStates को मर्ज करता है।externref को i64 के रूप में गलत समझा गया → पॉइंटर बिट्स BigInt के रूप में लीक हो गए (addrof)।i64 को externref के रूप में गलत समझा गया → पूर्णांक बिट्स टैग किए गए संदर्भ के रूप में मटेरियलाइज़ हो गए (fakeobj)।आरेख, TurboFan IR स्निपेट, और डिऑप्टिमाइज़र व्यवहार के लिए पूरा Nebula Security लेख और संलग्न विश्लेषण रिपोर्ट देखें।
d8 बाइनरी)।--allow-natives-syntax --expose-wasm--turbo-dynamic-map-checks या इसी तरह के साथ डिबग d8।# Using d8 shell
./d8 --allow-natives-syntax --expose-wasm poc.js
अपेक्षित व्यवहार (असुरक्षित बिल्ड पर):
addrof लीक।fakeobj मटेरियलाइज़ेशन (पहचान जाँच पास होती है)।नोट: पूर्ण RCE के लिए अतिरिक्त इंजीनियरिंग (ऑफसेट गणना, WASM/GC इंटरैक्शन, सैंडबॉक्स एस्केप) की आवश्यकता होती है। यह PoC मुख्य प्रिमिटिव पर केंद्रित है।
शामिल .yar नियम का उपयोग स्क्रिप्ट या मेमोरी में PoC पैटर्न की पहचान करने के लिए सुरक्षा टूलिंग में किया जा सकता है।
अस्वीकरण: यह रिपॉजिटरी केवल शैक्षिक, रक्षात्मक और अनुसंधान उद्देश्यों के लिए प्रदान की गई है। अनधिकृत सिस्टम पर उपयोग न करें। लेखक दुरुपयोग के लिए कोई दायित्व नहीं मानते हैं।
प्रश्नों, योगदानों, या वेरिएंट विकास के लिए, एक issue या PR खोलें।
अंतिम अद्यतन: जुलाई 2026
| फ़ाइल | विवरण |
|---|
poc.js | कोर PoC जो addrof और fakeobj प्रिमिटिव + बुनियादी रीड/राइट डेमो प्रदर्शित करता है। |
gen.py | PoC वेरिएंट या पेलोड स्कैफोल्डिंग उत्पन्न करने के लिए सहायक स्क्रिप्ट। |
val.py | प्रिमिटिव के लिए वैलिडेशन और परीक्षण उपयोगिताएँ। |
cve-2026-6307_d8_execution.yml | V8 d8 शेल में PoC चलाने के लिए कॉन्फ़िगरेशन / वर्कफ़्लो। |
cve-2026-6307_longinus_poc.yar | PoC हस्ताक्षर या संबंधित पैटर्न का पता लगाने के लिए YARA नियम। |