
CVE-2025-55182 (React2Shell) के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो React सर्वर घटकों में एक महत्वपूर्ण प्री-ऑथ RCE है। फ्लाइट प्रोटोकॉल में असुरक्षित डीसेरियलाइज़ेशन को प्रदर्शित करता है, अधिकृत सुरक्षा परीक्षण और शिक्षा के लिए।
केवल अधिकृत, स्थानीय परीक्षण वातावरण पर महत्वपूर्ण React2Shell भेद्यता (CVE-2025-55182 / CVE-2025-66478) के प्रदर्शन के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट उपकरण।
यह भेद्यता (CVSS 10.0) परिष्कृत खतरा अभिनेताओं द्वारा सक्रिय रूप से शोषण की जा रही है। Amazon थ्रेट इंटेलिजेंस रिपोर्ट करता है कि Earth Lamia और Jackpot Panda सहित कई चीन-संबंधित राज्य-प्रायोजित समूहों ने प्रकटीकरण के घंटों के भीतर सार्वजनिक शोषण को हथियार बनाना शुरू कर दिया। अमेरिकी साइबर सुरक्षा और बुनियादी ढांचा सुरक्षा एजेंसी (CISA) ने इसे अपनी Known Exploited Vulnerabilities (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]
# विशिष्ट 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) इंजेक्ट करने की अनुमति देता है, जिससे प्रोटोटाइप प्रदूषण होता है।
एक बार प्रोटोटाइप श्रृंखला प्रदूषित हो जाने पर, सर्वर हमलावर-प्रभावित निष्पादन पथों का अनुसरण करता है। इसे सर्वर विशेषाधिकारों के साथ मनमाना जावास्क्रिप्ट कोड निष्पादित करने के लिए श्रृंखलाबद्ध किया जा सकता है, जिससे पूर्ण रिमोट कोड निष्पादन (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 और बाद के | 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 पैकेज का उपयोग करने पर भेद्य। |