सुरक्षा · 2 नवम्बर 2026

इन भाषाओं में भी प्रकाशित English, 한국어, Indonesia, Русский, العربية, עברית

Ruby ने अपने रेगुलर एक्सप्रेशन इंजन में तीन गंभीर खामियों को सुधारा

silver imac on brown wooden table
Clay Banks / Unsplash

Ruby टीम ने संस्करण 4.0.9, 3.4.12 और 3.3.13 जारी किए हैं। ये अपडेट Onigmo रेगुलर एक्सप्रेशन इंजन में तीन त्रुटियों को ठीक करते हैं, जो प्रभावित सर्वरों पर हानिकारक कोड के निष्पादन की अनुमति दे सकते हैं।

इन खामियों का सबसे प्रमुख प्रभाव Ruby पर आधारित GitLab पर पड़ा है। हालांकि, कोई भी Ruby अनुप्रयोग जो बाहरी इनपुट से रेगुलर एक्सप्रेशन बनाता है, वह इससे प्रभावित हो सकता है। Ruby टीम के अनुसार, केवल वे उपयोगकर्ता सुरक्षित हैं जो स्वयं लिखे गए पैटर्न का उपयोग करते हैं। ये त्रुटियां पैटर्न के संकलन चरण के दौरान होती हैं, न कि टेक्स्ट के साथ मिलान के दौरान।

GitLab के मामले में, यह सेवा उपयोगकर्ता इनपुट, जैसे कि सीआई/सीडी कॉन्फ़िगरेशन से रेगुलर एक्सप्रेशन का संकलन करती है। सुरक्षा शोधकर्ता Johan Carlsson ने बग-बाउंटी कार्यक्रम के माध्यम से चार खामियों की रिपोर्ट की। इनमें CVE-2026-89078 और CVE-2026-93577 का सीवीएसएस मान 9.9 है, जबकि CVE-2026-97229 और CVE-2026-110264 का मान अधिकतम 10.0 है। इन दोनों को बिना लॉगिन के इस्तेमाल किया जा सकता है। GitLab ने 23 सितंबर और 21 अक्टूबर के बीच अपने साथ आने वाले Ruby को पैच करके इन्हें बंद कर दिया। यह अपडेट 2014 के संस्करण 7.0 के बाद के सभी GitLab संस्करणों पर लागू होता है।

Ruby टीम ने इन चार सीवीई को तीन त्रुटियों में विभाजित किया है। CVE-2026-89078 एक पैटर्न को पढ़ते समय होने वाले डबल मेमोरी फ्री की समस्या है। CVE-2026-93577 और CVE-2026-97229 संकलित प्रोग्राम के आकार की गणना में पूर्णांक ओवरफ्लो से संबंधित हैं, और CVE-2026-110264 बहुत अधिक दोहराव वाले पैटर्न में आंतरिक काउंटर ओवरफ्लो के कारण है।

इनमें से कोई भी सुधार नया नहीं है। डबल मेमोरी फ्री की समस्या मई 2025 से विकास शाखा में ठीक थी और Ruby 4.0.0 में शामिल थी। काउंटर के लिए सुधार अप्रैल 2026 में और प्रोग्राम आकार के लिए सितंबर 2026 में आया था। ये हाल ही में रिलीज संस्करणों में पहुंचे हैं। 22 अक्टूबर को Ruby 4.0.8 में प्रोग्राम आकार का सुधार एक नियमित अपडेट के रूप में आया, जिसके बाद अगले दिन 4.0.9 में अंतिम सुधार जारी किया गया। स्थिर शाखाएं 3.4 और 3.3 एक साथ तीनों सुधार प्राप्त कर चुकी हैं। Ruby 3.3 के लिए यह अपवाद था क्योंकि GitLab ने सीवीई जारी किए थे। Ruby 3.2 और उससे पुराने संस्करणों के लिए अब कोई अपडेट नहीं हैं।

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

Ruby टीम का कहना है कि टाइमआउट या पैटर्न लंबाई की सीमा इन त्रुटियों को रोकने में प्रभावी नहीं है क्योंकि ये संकलन के दौरान होती हैं। जो लोग तुरंत अपडेट नहीं कर सकते, उन्हें बाहरी इनपुट से पैटर्न संकलित नहीं करने चाहिए। Ruby परियोजना ने अब तक अपने स्वयं के सीवीई पहचानकर्ता का अनुरोध नहीं किया है क्योंकि उनका मानना है कि बाहरी पैटर्न का संकलन करना असुरक्षित है और यह अनुप्रयोग की गलती है, इंटरप्रेटर की नहीं।