
React Server Actions एक्सप्लॉइट वेक्टर का पता लगाना – CVE-2025-55182 / CVE-2025-66478
CVE-2025-55182 / CVE-2025-66478 के लिए डिटेक्शन – React Server Components / Next.js
इस रिपॉजिटरी में Lua में लिखी गई एक Nmap Scripting Engine (NSE) स्क्रिप्ट है, जिसे React2Shell नामक गंभीर भेद्यता का सुरक्षित रूप से पता लगाने के लिए डिज़ाइन किया गया है। यह भेद्यता React Server Components (RSC) और React Server Actions (RSA) इम्प्लीमेंटेशन—जिनमें कई Next.js डिप्लॉयमेंट शामिल हैं—को प्रभावित करती है।
डिटेक्शन विधि एक गैर-आक्रामक (non-intrusive) साइड-चैनल तकनीक का उपयोग करती है, जो malformed React Flight पेलोड को संभालते समय सर्वर-साइड एरर व्यवहार पर आधारित है। कोई एक्सप्लॉइटेशन, कोई कोड एक्ज़ीक्यूशन और कोई असुरक्षित ऑपरेशन नहीं किया जाता है।
React2Shell (CVE-2025-55182 / CVE-2025-66478) React Server Components पाइपलाइनों में एक गंभीर डिज़ाइन दोष है जो निम्न की अनुमति दे सकता है:
आंतरिक कंपोनेंट संदर्भों (internal component references) तक अनधिकृत पहुँच
मनमाना प्रॉपर्टी एक्सेस (arbitrary property access)
विशिष्ट फ्रेमवर्क के अंतर्गत संभावित रिमोट कोड एक्ज़ीक्यूशन (RCE)
सर्वर-साइड डेटा रिसाव और एक्ज़ीक्यूशन फ्लो में हेरफेर
यह भेद्यता तब ट्रिगर होती है जब React निर्मित (crafted) React Flight संदर्भों को हल करने का प्रयास करता है, जैसे:
["$1:aa:aa"]
असुरक्षित सर्वरों पर, यह विशिष्ट पैटर्न युक्त 500 एरर उत्पन्न करता है:
E{"digest":"..."}
यह स्क्रिप्ट बिना किसी हानिकारक ऑपरेशन का प्रयास किए उस पैटर्न का पता लगाती है।
✔ सुरक्षित और निष्क्रिय (passive) डिटेक्शन (कोई एक्सप्लॉइटेशन नहीं, कोई RCE प्रयास नहीं)
✔ उच्च-विश्वसनीयता (high-fidelity) React Flight क्रैश सिग्नेचर का पता लगाता है
✔ HTTP और HTTPS पर काम करता है
✔ उपयोगकर्ता-कॉन्फ़िगरेबल पाथ और टाइमआउट
✔ Vercel/Netlify मिटिगेशन से होने वाले फॉल्स पॉज़िटिव से स्वचालित रूप से बचता है
✔ आउटपुट स्वचालित पाइपलाइनों और SIEM इंजेशन के साथ संगत
✔ हल्का (lightweight) और रेड टीमिंग, बग बाउंटी, इंसिडेंट रिस्पॉन्स और CI/CD स्कैनिंग के लिए उपयुक्त
git clone https://github.com/MoisesTapia/http-react2shell.git
cd http-react2shell
फ़ाइल को अपनी Nmap स्क्रिप्ट्स डायरेक्टरी के अंदर रखें:
sudo cp http-react2shell.nse /usr/share/nmap/scripts/
स्क्रिप्ट इंडेक्स अपडेट करें:
sudo nmap --script-updatedb
nmap -p80 --script http-react2shell <host>
nmap -p443 --script http-react2shell \
--script-args 'react2shell.path=/'
<host>
nmap -p443 --script http-react2shell \
--script-args 'react2shell.path=/api/action'
<host>
nmap -p443 --script http-react2shell \
--script-args 'react2shell.path=/,react2shell.timeout=20000'
<host>
nmap -iL targets.txt -p80,443 \
--script http-react2shell
nmap -sV -p80,443 \
--script "http-react2shell,http-headers,http-server-header,http-security-headers" \
<host>
PORT STATE SERVICE
443/tcp open https
| http-react2shell:
| Path: /login
| Scheme: auto (http/https decided by Nmap http library)
| No characteristic crash pattern observed.
| This suggests the tested endpoint is not vulnerable or is patched,
|_ but this is not a guarantee (other RSC/Server Actions paths may exist).
PORT STATE SERVICE
443/tcp open https
| http-react2shell:
| Path: /login
| Scheme: auto (http/https decided by Nmap http library)
| VULNERABLE: possible React2Shell (CVE-2025-55182 / CVE-2025-66478)
| Evidence: HTTP 500 + digest-like pattern found in response
|_ Notes: high-fidelity side-channel; verify manually and patch immediately.
PORT STATE SERVICE
443/tcp open https
| http-react2shell:
| Path: /login
| Scheme: auto (http/https decided by Nmap http library)
|_ ERROR: HTTP request failed (connection reset by peer)
React Flight इंटरनल्स पर तकनीकी विश्लेषण लेख और शोध पत्र
यह प्रोजेक्ट केवल शैक्षिक, अनुसंधान और डिफेंसिव सुरक्षा उद्देश्यों के लिए प्रदान किया गया है। ऐसी प्रणालियों को स्कैन न करें जिनके स्वामी आप नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट अनुमति नहीं है। अनुचित उपयोग या उससे होने वाली किसी भी क्षति के लिए अनुरक्षक जिम्मेदार नहीं हैं।
पुल रिक्वेस्ट, सुधार और अतिरिक्त डिटेक्शन ह्यूरिस्टिक्स का स्वागत है। आप निम्न में योगदान कर सकते हैं:
मल्टी-पाथ स्कैनिंग सपोर्ट
WAF बाईपास (evasion) मोड
अतिरिक्त फिंगरप्रिंटिंग
Nmap के बिल्ट-इन vulns फ्रेमवर्क के साथ एकीकरण
यदि यह टूल रेड टीमिंग, बग बाउंटी या डिफेंसिव सुरक्षा में आपकी मदद करता है, तो GitHub पर रिपॉजिटरी को एक स्टार ⭐ देने पर विचार करें!