Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2021-26700 — CVE-2021-26700 के लिए प्रूफ-ऑफ-कॉन्सेप्ट: दुर्भावनापूर्ण workspace settings.json के माध्यम से VSCode npm-script एक्सटेंशन में रिमोट कोड निष्पादन, विस्तृत शोषण और उपचार मार्गदर्शन के साथ। | Kitploit
उपकरण/GitHubGitHub/jackadamson/cve-2021-26700
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणआपूर्ति श्रृंखला सुरक्षालर्निंग और शिक्षा
GitHubjackadamson/cve-2021-26700

CVE-2021-26700

CVE-2021-26700 के लिए प्रूफ-ऑफ-कॉन्सेप्ट: दुर्भावनापूर्ण workspace settings.json के माध्यम से VSCode npm-script एक्सटेंशन में रिमोट कोड निष्पादन, विस्तृत शोषण और उपचार मार्गदर्शन के साथ।

रिपॉजिटरी देखें
20165 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

NPM VSCode एक्सटेंशन में RCE

10 फरवरी 2021 को इसमें फिक्स किया गया: https://github.com/microsoft/vscode-npm-scripts/commit/cdd5e507564e0cc0f60bcccf184822be3fd73e07

https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-26700

सारांश

eg2.vscode-npm-script (संस्करण 0.3.13 पर परीक्षण किया गया) VSCode एक्सटेंशन में रिमोट कोड एक्ज़ीक्यूशन भेद्यता का अर्थ है कि किसी प्रोजेक्ट में दुर्भावनापूर्ण .vscode/settings.json फ़ाइल package.json नामक फ़ाइल देखे जाने पर रिमोट कोड एक्ज़ीक्यूशन का कारण बन सकती है।

यह भेद्यता किसी सक्रिय Microsoft बग बाउंटी प्रोग्राम के अंतर्गत नहीं आती थी, लेकिन MSRC को रिपोर्ट की गई और उसके द्वारा निपटाई गई।

विवरण

किसी रिपॉजिटरी में दुर्भावनापूर्ण .vscode/settings.json फ़ाइल के बिना, eg2.vscode-npm-script एक्सटेंशन इंस्टॉल होने पर, फ़ाइल देखने के दौरान कमांड निष्पादित होगी।

package.json
npm ls --depth 0 --json

किसी प्रोजेक्ट के settings.json में npm.bin कुंजी को उदाहरण के लिए ./payload.sh पर सेट करके, package.json देखने पर इसके बजाय package.json वाली डायरेक्टरी से ./payload.sh ls --depth 0 --json निष्पादित होगा।

यह भेद्यता इस धारणा को तोड़ती है कि सोर्स-कोड को सुरक्षित रूप से पढ़ा जा सकता है।

उदाहरण हमला

हमलावर इसका उपयोग कैसे कर सकता है इसका एक उदाहरण:

  1. हमलावर संलग्न linux-poc जैसी रिपॉजिटरी प्रकाशित करता है
  2. लक्ष्य VSCode में सोर्स कोड पढ़ने के लिए रिपॉजिटरी क्लोन करता है
  3. लक्ष्य package.json देखता है
  4. payload.sh निष्पादित हो जाता है

उपचार विकल्प

मैंने दुर्भावनापूर्ण VSCode वर्कस्पेस settings.json को कम करने के दो तरीके देखे हैं

शमन 1 - केवल उपयोगकर्ता सेटिंग्स

सेटिंग्स को प्रति वर्कस्पेस सेट होने से रोकें। यह VSCode द्वारा पहले से ही git.path, terminal.integrated.shell.linux और कुछ अन्य सेटिंग्स के लिए उपयोग किया जाता है।

यह कुछ उपयोगकर्ताओं के लिए संगतता तोड़ सकता है, लेकिन इसका उदाहरण मौजूद है।
संदर्भ: https://vscode.readthedocs.io/en/latest/getstarted/settings/#settings-and-security

शमन 2 - पुष्टि के लिए संकेत

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

प्रूफ ऑफ कॉन्सेप्ट

Linux

  1. VSCode एक्सटेंशन eg2.vscode-npm-script का भेद्य संस्करण (0.3.13 या पुराना) इंस्टॉल करें
  2. VSCode में linux-poc डायरेक्टरी को फ़ोल्डर के रूप में खोलें
  3. VSCode में इसे देखने के लिए package.json फ़ाइल पर क्लिक करें
  4. निष्पादन प्रदर्शित करने के लिए फ़ाइल /tmp/output.txt बनाई जाएगी

Windows

  1. VSCode एक्सटेंशन eg2.vscode-npm-script का भेद्य संस्करण (0.3.13 या पुराना) इंस्टॉल करें
  2. VSCode में windows-poc डायरेक्टरी को फ़ोल्डर के रूप में खोलें
  3. VSCode में इसे देखने के लिए package.json फ़ाइल पर क्लिक करें
  4. calc.exe खोला जाएगा

नोट: मैं Windows में बाइनरी के लिए सापेक्ष पथ (relative path) का उपयोग करने में असमर्थ था, हालांकि यह Windows के साथ मेरी अपरिचितता के कारण हो सकता है

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