
CVE-2025-32434 के लिए प्रूफ-ऑफ-कॉन्सेप्ट शोषण, PyTorch के torch.load() में एक गंभीर RCE जो मेमोरी-मैप की गई फ़ाइल लेखन के माध्यम से weights_only=True को बायपास करता है।
CVE-2025-32434 एक महत्वपूर्ण रिमोट कोड निष्पादन (RCE) भेद्यता है PyTorch में, जो डीप लर्निंग और तंत्रिका नेटवर्क के लिए व्यापक रूप से उपयोग की जाने वाली Python लाइब्रेरी है।
भेद्यता torch.load() फ़ंक्शन में मौजूद है, भले ही कथित रूप से सुरक्षित weights_only=True पैरामीटर का उपयोग किया जाए। weights_only=True विकल्प को केवल मॉडल पैरामीटर तक लोडिंग को प्रतिबंधित करके कोड निष्पादन को रोकने के लिए डिज़ाइन किया गया था। हालांकि, शोधकर्ताओं ने इस सुरक्षा को बायपास करने का एक तरीका खोजा।
| Status | Version |
|---|
| असुरक्षित | PyTorch 2.5.1 और सभी पिछले संस्करण |
| ठीक किया गया | PyTorch 2.6.0 और बाद के संस्करण |
एक अनधिकृत हमलावर एक दुर्भावनापूर्ण मॉडल फ़ाइल बना सकता है जो पीड़ित द्वारा लोड होने पर मनमाना कोड निष्पादित करती है। हमले के लिए किसी उपयोगकर्ता सहभागिता की आवश्यकता नहीं है और यह पूरे सिस्टम से समझौता कर सकता है। भेद्यता इस बात का फायदा उठाती है कि कैसे PyTorch Python के pickle सीरियलाइज़ेशन का उपयोग करता है, जिससे हमलावर मॉडल फ़ाइलों में दुर्भावनापूर्ण कोड एम्बेड कर सकते हैं।
यह भेद्यता विशेष रूप से खतरनाक है क्योंकि कई डेवलपर सुरक्षा उपाय के रूप में weights_only=True पर भरोसा करते हैं, लेकिन यह भेद्यता साबित करती है कि "सुरक्षित" विकल्प भी पर्याप्त नहीं है।
प्रदान की गई full.py स्क्रिप्ट यह प्रदर्शित करती है कि एक दुर्भावनापूर्ण PyTorch मॉडल कैसे बनाया जाए जो लोड होने पर फ़ाइल सिस्टम में लिखता है।
torch.from_file() का उपयोग करता है# Memory-mapped file writing
t = torch.from_file("/etc/cron.d/rev",
shared=True,
size=len(asciis),
dtype=torch.uint8)
msg = torch.tensor(asciis, dtype=torch.uint8)
t.copy_(msg) # Writes to /etc/cron.d/rev
यह गाइड CVE-2025-32434 प्रूफ ऑफ कॉन्सेप्ट (PoC) स्क्रिप्ट का उपयोग करने के तरीके पर चरण-दर-चरण निर्देश प्रदान करता है।
शुरू करने से पहले, सुनिश्चित करें कि आपके पास:
# Install PyTorch (vulnerable version for testing)
pip install torch==2.5.1
pip install torch