
गंभीर React2Shell भेद्यता को प्रदर्शित करने के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट टूल
केवल अधिकृत, स्थानीय परीक्षण वातावरण में गंभीर React2Shell भेद्यता (CVE-2025-55182 / CVE-2025-66478) प्रदर्शित करने के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट टूल।
CVE-2025-55182 (React2Shell) React सर्वर कंपोनेंट्स (RSC) "Flight" प्रोटोकॉल में एक गंभीर, प्री-ऑथेंटिकेशन रिमोट कोड एक्ज़ीक्यूशन (RCE) भेद्यता है। CVE-2025-66478 नामक एक अलग पहचानकर्ता Next.js के लिए जारी किया गया था, लेकिन चूँकि दोनों का मूल कारण समान है, इसे CVE-2025-55182 की डुप्लिकेट के रूप में अस्वीकार कर दिया गया है।
chmod +x pwn-nextjs.sh
./pwn-nextjs.sh [TARGET_URL] [COMMAND]
# Target specific URL
./pwn-nextjs.sh https://vulnerable-app.example.com "whoami"
root
यह भेद्यता विशिष्ट React पैकेजों में उत्पन्न होती है, जो उन्हें बंडल करने वाले किसी भी फ्रेमवर्क को प्रभावित करती है।
प्रभावित नहीं: Next.js 13.x, Next.js 14.x स्थिर रिलीज़, Pages Router एप्लिकेशन और Edge Runtime प्रभावित नहीं हैं।
RSC Flight प्रोटोकॉल क्लाइंट-सर्वर संचार के लिए डेटा को सीरियलाइज़ करता है। यह भेद्यता सर्वर की डिसीरियलाइज़ेशन लॉजिक में निहित है, जो पर्याप्त मान्यता के बिना इनकमिंग पेलोड से ऑब्जेक्ट गुणों का असुरक्षित रूप से विस्तार करती है। यह हमलावर को अनुरोध में दुर्भावनापूर्ण कुंजियाँ (जैसे __proto__ या constructor) इंजेक्ट करने की अनुमति देता है, जिससे प्रोटोटाइप प्रदूषण होता है।
एक बार प्रोटोटाइप श्रृंखला प्रदूषित हो जाने पर, सर्वर हमलावर-प्रभावित निष्पादन पथों का अनुसरण करता है। इसे सर्वर विशेषाधिकारों के साथ मनमाना JavaScript कोड निष्पादित करने के लिए जोड़ा जा सकता है, जिससे पूर्ण रिमोट कोड एक्ज़ीक्यूशन (RCE) होता है।
सुरक्षा शोधकर्ताओं ने सफल शोषण देखे हैं जिनके परिणामस्वरूप:
.aws/credentials से) की पहचान और बहिर्निष्कासन के प्रयास।पैचिंग अनिवार्य है और भेद्यता को पूरी तरह समाप्त करने का एकमात्र तरीका है। भेद्य कोड पथ को अक्षम करने के लिए कोई कॉन्फ़िगरेशन सेटिंग नहीं है।
# For Next.js users, upgrade to the latest patched version in your release line.
# Example: If you are on Next.js 15.5.x:
npm install [email protected]
# Also ensure React dependencies are updated:
npm install react@latest react-dom@latest
सत्यापित करें कि आपकी package-lock.json या yarn.lock फ़ाइलें पैच किए गए react-server-dom-* पैकेज संस्करणों (19.0.1, 19.1.2, या 19.2.1) को दर्शाती हैं।
पैचिंग के दौरान, शोषण प्रयासों को रोकने के लिए वेब एप्लिकेशन फ़ायरवॉल (WAF) नियम तैनात करें:
AWSManagedRulesKnownBadInputsRuleSet (v1.24+) में इस CVE के लिए नियम शामिल हैं।cve-canary नियम उपलब्ध है।नोट: WAF नियम एक अस्थायी, अपूर्ण शमन हैं। वे पैच करने की आवश्यकता को प्रतिस्थापित नहीं करते।
शोषण प्रयासों के इन संकेतों के लिए लॉग की समीक्षा करें:
next-action या rsc-action-id हेडर वाले POST अनुरोध। $@ या "status":"resolved_model" जैसे पैटर्न वाले अनुरोध निकाय।whoami, id, uname), /etc/passwd का पठन, या /tmp/ में फ़ाइल लेखन (जैसे, pwned.txt)।यह टूल 10.0 के CVSS स्कोर (अधिकतम गंभीरता) वाली भेद्यता प्रदर्शित करता है जो सक्रिय, राज्य-प्रायोजित शोषण के अधीन है।
याद रखें: यह टूल प्रदर्शित करता है कि पैचिंग अत्यावश्यक क्यों है। इस ज्ञान का उपयोग सुरक्षा सुधारने और सिस्टमों की रक्षा करने के लिए करें, न कि उन्हें समझौता करने के लिए। सुनिश्चित करें कि आपकी सभी निर्भरताएँ ऊपर सूचीबद्ध पैच किए गए संस्करणों में अपडेट हैं।
ताहा मौनीर
| घटक | प्रभावित संस्करण | पैच किए गए संस्करण | टिप्पणियाँ |
|---|
| React पैकेज ( react-server-dom-webpack, -parcel, -turbopack) | 19.0.0, 19.1.0, 19.1.1, 19.2.0 | 19.0.1, 19.1.2, 19.2.1 | अपस्ट्रीम दोष का स्रोत। |
| Next.js (App Router) | 15.x, 16.x, 14.3.0-canary.77 और बाद के | 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 | प्राथमिक रूप से प्रभावित फ्रेमवर्क। |
| अन्य फ्रेमवर्क | React Router, Waku, RedwoodJS, Parcel (@parcel/rsc), Vite RSC प्लगइन | पैच किए गए React पैकेज (>19.0.1, 19.1.2, 19.2.1) का उपयोग करने वाले संस्करणों में अपडेट करें। | यदि प्रभावित React पैकेजों का उपयोग कर रहे हैं तो भेद्य हैं। |