
CVE-2025-55182 + CVE-2025-66478 - Next.js/React सर्वर कंपोनेंट्स रिमोट कोड निष्पादन
यह रिपॉजिटरी CVE-2025-55182 के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट (PoC) एक्सप्लॉइट है, जो एक गंभीर रिमोट कोड एक्ज़ीक्यूशन (RCE) भेद्यता है, जो React संस्करण 19.x और Next.js संस्करण 15.x और 16.x में App Router का उपयोग करने पर React Server Components को प्रभावित करती है। इस भेद्यता का CVSS स्कोर 10.0 है, जो एक गंभीर जोखिम दर्शाता है।
इस भेद्यता का मूल React Server Components के भीतर डिसीरियलाइज़ेशन के अनुचित संचालन में निहित है। विशेष रूप से, एक्सप्लॉइट @ डिसीरियलाइज़ेशन का उपयोग करके एक Chunk ऑब्जेक्ट में हेरफेर करता है और उसकी then प्रॉपर्टी को हाईजैक कर लेता है। status को RESOLVED_MODEL पर सेट करने पर, initializeModelChunk फ़ंक्शन को एक नकली chunk के साथ कॉल किया जाता है जो पूरी तरह से हमलावर के नियंत्रण में होता है। यह _response ऑब्जेक्ट के साथ हेरफेर की अनुमति देता है, जो अंततः मनमाना कोड निष्पादन की ओर ले जाता है।
एक्सप्लॉइट Blob डिसीरियलाइज़ेशन प्रक्रिया को लक्षित करता है, विशेष रूप से response._formData.get कॉल को, ताकि हमलावर-नियंत्रित कोड इंजेक्ट किया जा सके जो फिर निष्पादित हो जाता है।
exploit.py स्क्रिप्ट एक PoC प्रदान करती है जो इस भेद्यता को प्रदर्शित करती है। यह एक दुर्भावनापूर्ण पेलोड तैयार करती है जो लक्षित सर्वर पर एक कमांड निष्पादित करने के लिए डिसीरियलाइज़ेशन प्रक्रिया में हेरफेर करती है।
@ डिसीरियलाइज़ेशन: एक्सप्लॉइट @ डिसीरियलाइज़ेशन तंत्र का उपयोग करके Chunk ऑब्जेक्ट पर नियंत्रण प्राप्त करता है।
Chunk.prototype.then को हाईजैक करना: Chunk प्रोटोटाइप की then प्रॉपर्टी को ओवरराइट कर दिया जाता है, जिससे जब chunk awaited/resolved होता है, तो हमलावर-नियंत्रित कोड कॉल किया जाएगा।
RESOLVED_MODEL स्थिति: chunk की status को RESOLVED_MODEL पर सेट करने से initializeModelChunk फ़ंक्शन ट्रिगर होता है, जो हमलावर-नियंत्रित _response ऑब्जेक्ट के साथ इंटरैक्ट करता है।
_formData.get हेरफेर: एक्सप्लॉइट response._formData.get के साथ छेड़छाड़ करता है ताकि हमलावर-नियंत्रित कोड वाला एक फ़ंक्शन लौटाया जा सके। फिर यह फ़ंक्शन निष्पादित होता है।
Python 3: PoC स्क्रिप्ट Python 3 में लिखी गई है।
लाइब्रेरी: pip install -r requirements.txt का उपयोग करके लाइब्रेरी इंस्टॉल करें।
लक्षित सर्वर: एक भेद्य Next.js (16.0.6) एप्लिकेशन जो App Router के साथ चल रही हो।
स्क्रिप्ट सहेजें: दिए गए Python कोड को exploit.py के रूप में सहेजें।
स्क्रिप्ट चलाएँ: कमांड लाइन से स्क्रिप्ट को निष्पादित करें, तर्क के रूप में लक्षित URL और निष्पादित करने के लिए कमांड प्रदान करें:
python exploit.py <target_url> <command_to_execute>
उदाहरण के लिए:
python exploit.py http://localhost:3000 "ls -l"

यह PoC बिना किसी वारंटी के "जैसा है" प्रदान किया गया है। लेखक इस स्क्रिप्ट के किसी भी दुरुपयोग या क्षति के लिए ज़िम्मेदार नहीं है। इसका उपयोग अपने जोखिम पर करें।