CVE-2025-61765
python-socketio कुछ मल्टी-सर्वर परिनियोजनों में दुर्भावनापूर्ण pickle डिसीरियलाइज़ेशन के माध्यम से मनमाना Python कोड निष्पादन (RCE) के लिए संवेदनशील है
- प्रकाशित
- 6 अक्टू॰ 2025
- अद्यतन
- 22 अक्टू॰ 2025
- सीएनए असाइन करना
- GitHub_M
- साक्ष्य देखे गए
- 8 अग॰ 2026
प्राथमिक सीवीएसएस
nvd · CVSS 3.1
CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:Lकम · अगले 30 दिन
- प्रतिशत
- 40.6%
- मॉडल दिनांक
- 21 सित॰ 2026
ईपीएसएस एक सांख्यिकीय अनुमान है, कोई निश्चितता या प्रभाव का माप नहीं। इसे सीवीएसएस, केईवी स्थिति, एक्सपोज़र और अपने वातावरण के साथ मिलाएं।
सारांश
python-socketio Socket.IO रीयलटाइम क्लाइंट और सर्वर का एक Python कार्यान्वयन है। python-socketio के 5.14.0 से पहले के संस्करणों में एक रिमोट कोड एक्ज़ीक्यूशन भेद्यता मौजूद है, जो हमलावरों को मल्टी-सर्वर तैनातियों में दुर्भावनापूर्ण pickle डी-सीरियलाइज़ेशन के माध्यम से मनमाना Python कोड निष्पादित करने की अनुमति देती है, जहाँ हमलावर ने पहले उस मैसेज क्यू तक पहुँच प्राप्त कर ली है जिसका उपयोग सर्वर आंतरिक संचार के लिए करते हैं। जब Socket.IO सर्वर इंटर-सर्वर संचार के लिए Redis जैसे मैसेज क्यू बैकएंड का उपयोग करने के लिए कॉन्फ़िगर किए जाते हैं, तो सर्वरों के बीच भेजे गए संदेशों को `pickle` Python मॉड्यूल का उपयोग करके एनकोड किया जाता है। जब कोई सर्वर मैसेज क्यू के माध्यम से इनमें से किसी एक संदेश को प्राप्त करता है, तो वह मान लेता है कि यह विश्वसनीय है और तुरंत उसे डी-सीरियलाइज़ कर देता है। यह भेद्यता Python के `pickle.loads()` फ़ंक्शन का उपयोग करके संदेशों के डी-सीरियलाइज़ेशन से उत्पन्न होती है। पहले से मैसेज क्यू तक पहुँच प्राप्त करने के बाद, हमलावर python-socketio सर्वर को एक क्राफ्ट किया हुआ pickle पेलोड भेज सकता है जो Python की `__reduce__` विधि के माध्यम से डी-सीरियलाइज़ेशन के दौरान मनमाना कोड निष्पादित करता है। यह भेद्यता केवल उन तैनातियों को प्रभावित करती है जिनमें मैसेज क्यू से समझौता किया गया हो। यह हमला हमलावर को Socket.IO सर्वर प्रक्रिया के संदर्भ में और उसके विशेषाधिकारों के साथ यादृच्छिक कोड निष्पादित करने की ओर ले जा सकता है। जो सिंगल-सर्वर सिस्टम मैसेज क्यू का उपयोग नहीं करते हैं, और जो मल्टी-सर्वर सिस्टम सुरक्षित मैसेज क्यू का उपयोग करते हैं, वे भेद्यता से प्रभावित नहीं होते हैं। मैसेज क्यू की तैनाती में मानक सुरक्षा प्रथाओं का पालन सुनिश्चित करने के अलावा, python-socketio पैकेज के उपयोगकर्ता संस्करण 5.14.0 या उससे नए संस्करण में अपग्रेड कर सकते हैं, जो `pickle` मॉड्यूल को हटा देता है और इंटर-सर्वर मैसेजिंग के लिए अधिक सुरक्षित JSON एनकोडिंग का उपयोग करता है।
स्रोत
1Socket.IO में असुरक्षित pickle डिसीरियलाइज़ेशन भेद्यता का प्रूफ ऑफ कॉन्सेप्ट
जिम्मेदारीपूर्ण उपयोग
भेद्यता जानकारी का उपयोग केवल उन प्रणालियों पर करें जिनके मालिक आप हैं या परीक्षण के लिए अधिकृत हैं। किटप्लॉइट सार्वजनिक अनुसंधान मेटाडेटा से लिंक करता है और शोषण कोड या दुर्भावनापूर्ण पेलोड को संग्रहीत नहीं करता है।