
React2Shell भेद्यता (CVE-2025-55182 / CVE-2025-66478)
केवल अधिकृत, स्थानीय परीक्षण वातावरण पर महत्वपूर्ण React2Shell भेद्यता (CVE-2025-55182 / CVE-2025-66478) प्रदर्शित करने के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट उपकरण।
यह भेद्यता (CVSS 10.0) परिष्कृत खतरे वाले अभिकर्ताओं द्वारा सक्रिय रूप से शोषित की जा रही है। अमेज़न थ्रेट इंटेलिजेंस रिपोर्ट करता है कि चीन से जुड़े कई राज्य-प्रायोजित समूह, जिनमें Earth Lamia और Jackpot Panda शामिल हैं, ने खुलासे के घंटों के भीतर सार्वजनिक शोषणों को हथियार बनाना शुरू कर दिया। अमेरिकी साइबर सुरक्षा और बुनियादी ढांचा सुरक्षा एजेंसी (CISA) ने इसे अपनी ज्ञात शोषित भेद्यताओं (KEV) सूची में जोड़ दिया है।
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 पैकेजों में उत्पन्न होती है, जो उन्हें बंडल करने वाले किसी भी फ्रेमवर्क को प्रभावित करती है।
| घटक | प्रभावित संस्करण | पैच किए गए संस्करण | टिप्पणियाँ |
|---|---|---|---|
| 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 and later | 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 Plugin | पैच किए गए React पैकेज (>19.0.1, 19.1.2, 19.2.1) का उपयोग करने वाले संस्करणों में अपडेट करें। | असुरक्षित यदि प्रभावित React पैकेज का उपयोग कर रहा है। |
प्रभावित नहीं: Next.js 13.x, Next.js 14.x स्थिर रिलीज़, Pages Router अनुप्रयोग, और Edge Runtime प्रभावित नहीं हैं।
RSC Flight प्रोटोकॉल क्लाइंट-सर्वर संचार के लिए डेटा को क्रमबद्ध करता है। भेद्यता सर्वर पर डिसीरियलाइज़ेशन लॉजिक में निहित है, जो पर्याप्त सत्यापन के बिना आने वाले पेलोड से ऑब्जेक्ट गुणों को असुरक्षित रूप से विस्तारित करता है। यह एक हमलावर को अनुरोध में दुर्भावनापूर्ण कुंजी (जैसे __proto__ या constructor) इंजेक्ट करने की अनुमति देता है, जिससे प्रोटोटाइप प्रदूषण होता है।
एक बार प्रोटोटाइप श्रृंखला प्रदूषित होने के बाद, सर्वर हमलावर-प्रभावित निष्पादन पथों का अनुसरण करता है। इसे सर्वर विशेषाधिकारों के साथ मनमाना JavaScript कोड निष्पादित करने के लिए श्रृंखलाबद्ध किया जा सकता है, जिससे पूर्ण रिमोट कोड निष्पादन (RCE) होता है।
सुरक्षा शोधकर्ताओं ने सफल शोषणों को निम्नलिखित की ओर ले जाते देखा है:
.aws/credentials से) की पहचान करने और उन्हें बाहर निकालने के प्रयास।पैचिंग अनिवार्य है और भेद्यता को पूरी तरह से समाप्त करने का एकमात्र तरीका है। कमजोर कोड पथ को अक्षम करने के लिए कोई कॉन्फ़िगरेशन सेटिंग नहीं है।
# Next.js उपयोगकर्ताओं के लिए, अपनी रिलीज़ लाइन में नवीनतम पैच किए गए संस्करण में अपग्रेड करें।
# उदाहरण: यदि आप Next.js 15.5.x पर हैं:
npm install [email protected]
# यह भी सुनिश्चित करें कि React निर्भरताएँ अपडेट की गई हैं:
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) में फ़ाइल लेखन।यह उपकरण CVSS स्कोर 10.0 (अधिकतम गंभीरता) वाली एक भेद्यता प्रदर्शित करता है जो सक्रिय, राज्य-प्रायोजित शोषण के अधीन है।
याद रखें: यह उपकरण दर्शाता है कि पैचिंग अत्यावश्यक क्यों है। इस ज्ञान का उपयोग सुरक्षा में सुधार और सिस्टम की रक्षा करने के लिए करें, न कि उनसे समझौता करने के लिए। सुनिश्चित करें कि आपकी सभी निर्भरताएँ ऊपर सूचीबद्ध पैच किए गए संस्करणों में अपडेट की गई हैं।