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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2024-5452 | Kitploit
उपकरण/GitHubGitHub/skrkcb2/cve-2024-5452
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणलर्निंग और शिक्षाAI सुरक्षा
GitHubskrkcb2/cve-2024-5452

CVE-2024-5452

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

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

सभी देखें →

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

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

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

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

CVE-2024-5452

01. RCE और pytorch-lightning अवलोकन

  • 1) RCE और pytorch-lightning अवलोकन

    RCE (Remote Code Execution, दूरस्थ कोड निष्पादन) एक भेद्यता है जो हमलावर को दूरस्थ रूप से सिस्टम या एप्लिकेशन के भीतर मनमाना कोड निष्पादित करने की अनुमति देती है, और यह CWE-94: Improper Control of Generation of Code ('Code Injection') है।

    PyTorch Lightning एक लाइब्रेरी है जो PyTorch-आधारित डीप लर्निंग मॉडल प्रशिक्षण को आसानी से प्रबंधित करने में मदद करती है, और DeepDiff एक लाइब्रेरी है जो दो Python ऑब्जेक्ट्स की तुलना करके अंतर का विश्लेषण करती है।

    CVE-2024-5452 एक भेद्यता है जो Lightning के AI मॉडल वज़न संबंधी वेब एप्लिकेशन फीचर में DeepDiff और Lightning का उपयोग करने की प्रक्रिया के दौरान DeepDiff के कमजोर हेडर सत्यापन और डेल्टा विशेषता प्रदूषण के माध्यम से डिसीरियलाइज़ेशन (deserialization) के समय RCE उत्पन्न करती है।

    इसके माध्यम से हम उस कोड प्रवाह को देखेंगे जिसमें हमलावर मनमाना ऑब्जेक्ट इंजेक्ट कर सकता है या रिमोट कोड एक्ज़ीक्यूशन (RCE) कर सकता है, और इसके समाधान के उपायों पर विचार करेंगे।

02. pytorch-lightning वातावरण में डिसीरियलाइज़ेशन भेद्यता का विश्लेषण

  • 2.1 DeepDiff में Delta प्रदूषण का उपयोग करके हमले का विश्लेषण

    pytorch-lightning में वेब एप्लिकेशन स्रोत के DeepDiff एंडपॉइंट्स में से /api/v1/delta पर delta की विशेषताओं को प्रदूषित करके भेजकर हमला किया जा सकता है।
    उदाहरण देखकर हम जानेंगे कि delta के dunder गुणों को प्रदूषित करके ऑब्जेक्ट डिसीरियलाइज़ेशन भेद्यता कैसे उत्पन्न होती है।

    1) DeepDiff में Delta प्रदूषण का उपयोग करके हमले का प्रवाह

    पहला अनुरोध क्लाइंट हमला उदाहरण, प्रदूषण सेटिंग -> Deepdiff के /api/v1/delta में कमजोर हेडर सत्यापन -> प्रदूषण सेटिंग के माध्यम से स्थिति सहेजना है।

    छवि विवरण

    [चित्र 1] POC - Endpoint हमला

    छवि विवरण

    [चित्र 2] POC - Vuln Injection / संपूर्ण प्रदूषण सेटिंग सामग्री

    छवि विवरण

    [चित्र 3] lightning/api/core/api.py / कमजोर हेडर जांच लॉजिक भाग

    छवि विवरण

    [चित्र 4] lightning/api/core/app.py / सेटिंग अनुभाग

    छवि विवरण

    [चित्र 5] lightning/api/core/app.py / सेटिंग सहेजने का अनुभाग

    पहला अनुरोध [चित्र 3] के /api/v1/delta के हेडर सत्यापन को [चित्र 1] के माध्यम से बायपास करके छेड़छाड़ की गई प्रदूषण सेटिंग (delta) [चित्र 2] इंजेक्ट करता है, और [चित्र 4], [चित्र 5] के माध्यम से सेटिंग सहेजता है। अब दूसरे अनुरोध में देखेंगे कि ये छेड़छाड़ किए गए डेल्टा की सेटिंग्स कैसे काम करती हैं।

    छवि विवरण छवि विवरण

    [चित्र 6] lightning/api/core/app.py / प्रारंभिक पथ प्रवाह

    [चित्र 6] डेल्टा सेट होने के बाद दूसरे अनुरोध का प्रवाह है: run_once() -> maybe_apply_change() -> _collect_deltas_from_ui_and_work_queues()

    छवि विवरण

    [चित्र 7] isinstance प्रदूषण मामला

    [चित्र 7] _collect_deltas_from_ui_and_work_queues() में isinstance जांच को प्रदूषित सेटिंग के माध्यम से पास (isinstance(delta, _DeltaRequest) == False) कराके else में भेज दिया जाता है।

    छवि विवरण

    [चित्र 8] isinstance प्रदूषण मामला 1

    [चित्र 8] समझने के लिए isinstance(delta, _DeltaRequest), delta, _DeltaRequest(टाइप) के परिणाम आउटपुट किए गए हैं; पहला अनुरोध सेटिंग के लिए है जिसमें परिवर्तन सेट किया जा रहा है, इसलिए यह सामान्य है, और अगले अनुरोध में _DeltaRequest टाइप को str से प्रदूषित करके शर्त को बायपास किया जा रहा है। प्रवाह के अनुसार अगला लक्ष्य _process_requests का उदाहरण देखते हैं।

    छवि विवरण

    [चित्र 9] isinstance प्रदूषण मामला 2

    [चित्र 9] में देखा जा सकता है कि ऊपर जैसी ही स्थिति में _process_requests, दाईं ओर क्लाइंट POC कोड की सेटिंग द्वारा isinstance(request, _APIRequest) की जांच को प्रदूषित सेटिंग से पास कर लेता है; यह प्रदूषण ऐसा मामला है जिसमें str के लिए OrderSet इंस्टेंस पर isinstance कॉल सही (True) लौटाता है। अब तक हमने दो प्रकार के isinstance प्रदूषण देखे हैं, आगे की स्थिति में प्रदूषण के माध्यम से विशेषताओं को कॉल करने योग्य बनाने के लिए सेटिंग तैयार की जाती है।

    छवि विवरण

    छवि विवरण

    छवि विवरण

    [चित्र 10] isinstance प्रदूषण मामला 3

    [चित्र 10] में isinstance बायपास और फ़ंक्शन सेटिंग समाप्त होने के बाद, [चित्र 10] की "आंतरिक स्थिति निर्धारण" (_INTERNAL_STATE_VARS: () को खाली छोड़ना) सेट करके [चित्र 11] में आंतरिक सेटिंग स्थिति की जांच को असंभव बना दिया जाता है।

    छवि विवरण

    [चित्र 11_1] /lightning/app/core/flow.py का _INTERNAL_STATE_VARS जांच फ़ंक्शन

    छवि विवरण

    [चित्र 11_2] /lightning/app/core/flow.py का __setattr__

    [चित्र 11] को अंतिम मानते हुए, समग्र प्रदूषण और सेटिंग समाप्त हो गई है।

    छवि विवरण

    [चित्र 12] RCE Commnad

    छवि विवरण

    छवि विवरण

    [चित्र 13] RCE Response

    अंततः [चित्र 13] में root विशेषाधिकार के साथ exec को कॉल करके [चित्र 12] का कमांड निष्पादित करके प्रक्रिया समाप्त होती है।

2) DeepDiff में Delta प्रदूषण का उपयोग करके हमले का संक्षिप्त उदाहरण (बाएं: lightning App server, दाएं: Client)

छवि विवरण

03. समाधान के उपाय

अब तक हमने lightning वातावरण में ऑब्जेक्ट डिसीरियलाइज़ेशन (CVE-2024-5452) के माध्यम से RCE भेद्यता के निष्पादन का प्रवाह देखा है। चूंकि यह हमले की वह विधि है जिसमें सर्वर ही छीन लिया जाता है, इसलिए समाधान के उपाय महत्वपूर्ण हैं। इसके लिए हम नवीनतम संस्करण में अपडेट का सुझाव देना चाहते हैं।

  • lightning अपडेट

    यदि lightning <= 2.2.1 है, तो कृपया lightning > 2.3.3 या उससे ऊपर के संस्करण में अपडेट करें।
  • lightning लाइब्रेरी का संक्षिप्त संशोधन

    यह विधि केवल मजबूरी के मामले में अस्थायी रूप से रोकने का तरीका है, कृपया इसे केवल संदर्भ के लिए लें। /api/v1/delta एंडपॉइंट में एक सरल लॉजिक जोड़ें (पथ /lightning/app/core/api) या ऊपर सत्र जांच भाग को मजबूत करें। depence
  • IPS के माध्यम से पहचान और अवरोधन

    हमले का परीक्षण post man के माध्यम से json में dunder गुण निर्दिष्ट करके किया जाता है। image 20250210_143207

04. निष्कर्ष

अब तक हमने Lightning और Deepdiff के माध्यम से Dunder गुणों को प्रदूषित करके RCE उत्पन्न करने वाली भेद्यता के बारे में जाना है। यह भेद्यता पहले कमजोर हेडर सत्यापन और फिर delta के कमजोर गुण जांच के माध्यम से ऑब्जेक्ट डिसीरियलाइज़ेशन में घटित होने वाली भेद्यता थी।

05. संदर्भ सामग्री

(poc) https://security.snyk.io/vuln/SNYK-PYTHON-PYTORCHLIGHTNING-7218866
(nist) https://nvd.nist.gov/vuln/detail/CVE-2024-5452

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