
Next.js Server Actions के भीतर CVE-2025-55182 भेद्यता का परीक्षण और विश्लेषण करें
परियोजना स्थिति: प्रयोगात्मक / प्रूफ ऑफ कॉन्सेप्ट
यह रिपॉज़िटरी CVE-2025-55182 के विश्लेषण के लिए एक नियंत्रित शोध वातावरण और प्रूफ-ऑफ-कॉन्सेप्ट (PoC) ढाँचे के रूप में कार्य करती है। यह Next.js सर्वर एक्शन के संदर्भ में एक प्रोटोटाइप पॉल्यूशन (Prototype Pollution) भेद्यता को प्रदर्शित करती है, विशेष रूप से असुरक्षित रिकर्सिव मर्ज (recursive merge) संचालनों को लक्षित करते हुए।
मुख्य भेद्यता एक कस्टम deepMerge उपयोगिता फ़ंक्शन में निहित है, जो Next.js सर्वर एक्शन (syncConfiguration) के भीतर लागू किया गया है। इस फ़ंक्शन में विशेष ऑब्जेक्ट कुंजियों—विशेष रूप से __proto__ और constructor—के लिए पर्याप्त सैनिटाइज़ेशन का अभाव है। इस चूक के कारण एक अनप्रमाणित (unauthenticated) हमलावर वैश्विक Object.prototype में मनमानी प्रॉपर्टीज़ इंजेक्ट कर सकता है।
सर्वर-साइड Node.js रनटाइम में, सफल प्रोटोटाइप पॉल्यूशन निम्नलिखित परिणाम दे सकता है:
isAdmin), या कॉन्फ़िगरेशन सेटिंग्स को वैश्विक रूप से बदलना।toString या valueOf जैसी महत्वपूर्ण आंतरिक विधियों को अधिलेखित करके एप्लिकेशन को अस्थिर करना।child_process या टेम्पलेट इंजन में) के साथ जोड़कर मनमाना कोड निष्पादन प्राप्त किया जा सकता है।lab/next-app/: सुरक्षा दोष का अनुकरण करने के लिए डिज़ाइन किया गया एक भेद्य Next.js 15 एप्लिकेशन।
src/app/actions.jsx: भेद्य deepMerge कार्यान्वयन वाला सर्वर-साइड कोड।exploits/: परीक्षण और शोषण के लिए Python स्वचालन स्क्रिप्ट्स।
rce.py: सर्वर स्टेट पॉल्यूशन प्रदर्शित करने के लिए दुर्भावनापूर्ण JSON पेलोड के इंजेक्शन को स्वचालित करने वाली स्क्रिप्ट।get-shell.py: RSC Flight Protocol डिसीरियलाइज़ेशन वेक्टरों का अन्वेषण करने वाला एक उन्नत PoC।docs/PAYLOADS.md: मैन्युअल परीक्षण और विश्लेषण के लिए विभिन्न JSON पेलोड युक्त एक संदर्भ दस्तावेज़।आप लैब को Docker (अनुशंसित) या स्थानीय रूप से चला सकते हैं।
सुनिश्चित करें कि Docker और Docker Compose स्थापित हैं।
docker-compose up --build
एप्लिकेशन http://localhost:3000 पर उपलब्ध होगा।
Node.js 20+ की आवश्यकता है।
cd lab/next-app
npm install
npm run dev
एप्लिकेशन http://localhost:3000 पर उपलब्ध होगा।
http://localhost:3000 पर जाएँ।docs/PAYLOADS.md से एक पेलोड चुनें (जैसे, बेसिक पेलोड)।प्रदान की गई Python स्क्रिप्ट्स भेद्यता के प्रोग्रामेटिक सत्यापन की अनुमति देती हैं।
पूर्वापेक्षा: ब्राउज़र के Network टैब से Next-Action ID प्राप्त करें (POST अनुरोध हेडर Next-Action देखें) या सर्वर टर्मिनल आउटपुट से।
docker exec -it exploit-runner bash
export ACTION_ID="your_action_id_here"
python3 rce.py "id"
pip install -r exploits/requirements.txt
export ACTION_ID="your_action_id_here"
python3 exploits/rce.py "id"
नोट: rce.py स्क्रिप्ट सफल स्टेट पॉल्यूशन प्रदर्शित करने के लिए कॉन्फ़िगर की गई है। पूर्ण शेल निष्पादन विशिष्ट पर्यावरणीय गैजेट्स पर निर्भर करता है, जो भिन्न हो सकते हैं।
यह परियोजना केवल शैक्षिक उद्देश्यों और सुरक्षा अनुसंधान के लिए है।
इस सामग्री में दिए गए कोड या तकनीकों का उपयोग उन प्रणालियों पर न करें जिनके लिए आपके पास स्पष्ट, लिखित अनुमति नहीं है। लेखक इस सामग्री से होने वाले किसी भी दुरुपयोग या क्षति के लिए ज़िम्मेदार नहीं हैं।