
CVE-2025-55182 (React2Shell) के लिए कार्यशील प्रूफ ऑफ कॉन्सेप्ट (PoC) - Next.js 15.0.0 में React सर्वर घटकों के माध्यम से अप्रमाणित रिमोट कोड निष्पादन
⚠️ केवल शैक्षिक उद्देश्यों के लिए
यह रिपॉजिटरी सख्ती से शैक्षिक और अनुसंधान उद्देश्यों के लिए बनाई गई है। यह डेवलपर्स को जोखिमों और उनकी निर्भरताओं को अपडेट करने के महत्व को समझने में मदद करने के लिए React Server Components (Next.js) में एक गंभीर कमजोरी प्रदर्शित करता है।
इस कोड का उत्पादन में या उन सिस्टमों के विरुद्ध उपयोग न करें जिनके आप स्वामी नहीं हैं।
यह प्रोजेक्ट CVE-2025-55182 (जिसे "React2Shell" के नाम से भी जाना जाता है) को पुन: उत्पन्न करता है, जो Next.js अनुप्रयोगों में React Server Components को प्रभावित करने वाली एक रिमोट कोड निष्पादन (RCE) कमजोरी है।
multipart/form-data अनुरोध भेजता है जो सर्वर पर मनमाना जावास्क्रिप्ट कोड निष्पादित करने के लिए React Server Components के विप्रारूपण तर्क का शोषण करता है।
app/page.js: इसमें इंटरैक्टिव एक्सप्लॉइट डैशबोर्ड है। यह क्लाइंट घटक आपको ब्राउज़र से सीधे RCE कमांड चलाने की अनुमति देता है।app/actions.js: इसमें एक मानक सर्वर क्रिया है। कमजोरी इस क्रिया के निष्पादन से पहले फ्रेमवर्क के पार्सिंग तर्क में निहित है।exploit.js: शोषण को प्रोग्रामेटिक रूप से प्रदर्शित करने के लिए एक स्टैंडअलोन Node.js स्क्रिप्ट।रिपॉजिटरी क्लोन करें:
git clone https://github.com/pkrasulia/CVE-2025-55182-NextJS-RCE-PoC.git
cd react-cve-test
(वैकल्पिक) सही Node.js संस्करण का उपयोग करें:
nvm use
निर्भरताएँ स्थापित करें (यह कमजोर संस्करणों को स्थापित करेगा):
npm ci --legacy-peer-deps
# OR
npm install --force
विकास सर्वर प्रारंभ करें:
npm run dev
सर्वर http://localhost:3000 पर प्रारंभ होना चाहिए।
http://localhost:3000 खोलें।whoami, ls -la, या cat package.json)।आप शोषण स्क्रिप्ट को सीधे अपने टर्मिनल से चला सकते हैं:
# Basic usage
node exploit.js http://localhost:3000 "whoami"
# Open Calculator (Linux) - use '&' to run in background
node exploit.js http://localhost:3000 "gnome-calculator &"
अपनी परियोजनाओं में इस कमजोरी को ठीक करने के लिए:
npm install next@latest react@latest react-dom@latest
लेखक इस जानकारी के किसी भी दुरुपयोग के लिए जिम्मेदार नहीं है। यह परियोजना सुरक्षा शोधकर्ताओं और डेवलपर्स को उनके अनुप्रयोगों की सुरक्षा में सुधार करने में मदद करने के लिए है।