
CVE-2025-32434 के लिए अवधारणा-प्रमाण शोषण, PyTorch के weights_only मोड में एक पिकल डीसेरियलाइज़ेशन कमजोरी, दुर्भावनापूर्ण tar फ़ाइल निर्माण और निष्पादन का प्रदर्शन।
भेद्यता प्रवेश बिंदु torch/serialization.py में load() है
जब सुरक्षा (weights_only) सक्षम होती है: एक tar फ़ाइल लोड करने पर ये फ़ंक्शन श्रृंखला में कॉल होंगे:
load(): torch/serialization.py:1117_load_legacy(): torch/serialization.py:1376 से torch/serialization.py:1406persistent_load(): torch/serialization.py:1474pickle_moudle.load(): torch/serialization.py:1487Unpickler.load(): torch/_weights_only_unpickler.py:214weights_only_unpickler मोड में, यह सब pickle deserialization के बारे में है, इसलिए pickle प्रोटोकॉल की खोज करने से मदद मिल सकती है। संदर्भ: https://rushter.com/blog/pickle-serialization-internals/
यह POC पहले एक दुर्भावनापूर्ण tar फ़ाइल उत्पन्न करता है, ध्यान दें कि pytorch के लिए फ़ाइल नाम "storages" आवश्यक है, फिर भेद्यता को ट्रिगर करने के लिए tar फ़ाइल लोड करता है।
अब tar फ़ाइल असुरक्षित मोड में निष्पादन योग्य है। अगला कदम सुरक्षा सुरक्षा को सक्षम करना और इस तरह सत्यापन को बायपास करना है:
_pickle.UnpicklingError: Unsupported global: GLOBAL __builtin__.eval was not an allowed global by default. Please use `torch.serialization.add_safe_globals([eval])` to allowlist this global if you trust this class/function.