
React2Shell खामी (CVE-2025-55182 / CVE-2025-66478) पूर्ण स्क्रिप्ट
प्रमाण-अवधारणा उपकरण जो क्रिटिकल React2Shell भेद्यता (CVE-2025-55182 / CVE-2025-66478) को केवल अधिकृत, स्थानीय परीक्षण वातावरण पर प्रदर्शित करने के लिए है।
यह भेद्यता (CVSS 10.0) उन्नत खतरा अभिनेताओं द्वारा सक्रिय रूप से शोषित की जा रही है। Amazon खुफिया रिपोर्टों के अनुसार, Earth Lamia और Jackpot Panda सहित कई चीन-संबंधित राज्य-प्रायोजित समूहों ने प्रकटीकरण के कुछ घंटों के भीतर सार्वजनिक शोषण को हथियारबंद करना शुरू कर दिया। अमेरिकी साइबर सुरक्षा और बुनियादी ढांचा सुरक्षा एजेंसी (CISA) ने इसे अपने ज्ञात शोषित भेद्यता (KEV) सूची में जोड़ा है।
CVE-2025-55182 (React2Shell) रिएक्ट सर्वर कंपोनेंट्स (RSC) "Flight" प्रोटोकॉल में एक क्रिटिकल, प्री-ऑथेंटिकेशन रिमोट कोड एक्जीक्यूशन (RCE) भेद्यता है। एक अलग पहचानकर्ता, CVE-2025-66478, Next.js के लिए निर्धारित किया गया था, लेकिन तब से इसे CVE-2025-55182 का डुप्लिकेट मानकर अस्वीकार कर दिया गया है, क्योंकि दोनों का मूल कारण एक ही है।
chmod +x pwn-nextjs.sh
./pwn-nextjs.sh [TARGET_URL] [COMMAND]
# विशिष्ट URL को लक्ष्य करें
./pwn-nextjs.sh https://vulnerable-app.example.com "whoami"
root
यह भेद्यता विशिष्ट React पैकेजों में उत्पन्न होती है, जो उन्हें बंडल करने वाले किसी भी फ्रेमवर्क को प्रभावित करती है।
प्रभावित नहीं: Next.js 13.x, Next.js 14.x स्थिर रिलीज़, पेज राउटर एप्लिकेशन और एज रनटाइम प्रभावित नहीं हैं।
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 (अधिकतम गंभीरता) स्कोर वाली एक भेद्यता प्रदर्शित करता है जो सक्रिय, राज्य-प्रायोजित शोषण के अंतर्गत है।
याद रखें: यह उपकरण प्रदर्शित करता है कि पैच करना अत्यावश्यक क्यों है। इस ज्ञान का उपयोग सुरक्षा में सुधार करने और सिस्टम की रक्षा करने के लिए करें, उनसे समझौता करने के लिए नहीं। सुनिश्चित करें कि आपकी सभी निर्भरताएँ ऊपर सूचीबद्ध पैच किए गए संस्करणों में अपडेट की गई हैं।
| घटक | प्रभावित संस्करण | पैच किए गए संस्करण | टिप्पणियाँ |
|---|
| 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 पैकेजों का उपयोग कर रहे हैं तो भेद्य। |