
MLflow में CVE-2023-1177 भेद्यता का PoC (पुनरुत्पादन)
इस रिपॉजिटरी में MLflow में Local File Inclusion (LFI) भेद्यता का Proof-of-Concept (PoC) शोषण कोड और पुनरुत्पादन निर्देश शामिल हैं, जिसे CVE-2023-1177 के रूप में पहचाना गया है।
भेद्यता की जानकारी:
GET /model-versions/get-artifact endpoint पथ (path) को संसाधित करता है। हमलावर source फ़ील्ड को सर्वर पर एक स्थानीय पथ (जैसे file:/// का उपयोग करके) में संशोधित करके एक model version बना सकता है। फिर, path पैरामीटर के साथ get-artifact endpoint को कॉल करके (जो संशोधित source के सापेक्ष एक वांछित फ़ाइल की ओर इशारा करता है), हमलावर MLflow सर्वर चलाने वाले उपयोगकर्ता के अधिकारों के साथ सर्वर के फ़ाइल सिस्टम पर मनमानी फ़ाइलों की सामग्री पढ़ सकता है।पर्यावरण सेटअप:
environment.yml फ़ाइल का उपयोग करें:
conda env create -f environment.yml
mlflow==2.1.1, requests, pandas, databricks-cli और संगत setuptools संस्करण शामिल हैं) के साथ attack नामक एक पर्यावरण (या yml फ़ाइल में परिभाषित नाम) बनाएगा।conda activate attack
भेद्यता और PoC को पुनरुत्पादित करने के चरण, साथ ही एक चैलेंज; यदि आप पुनरुत्पादन करने में आलसी हैं, तो आप यहाँ देख सकते हैं: https://hackmd.io/@paultheal1en/SymHyk10kg