
Vim Has A 0-Day????
Audio Summary
AI Summary
यह वीडियो Vim और Emacs में पाई गई दो गंभीर सुरक्षा कमजोरियों के बारे में बताता है, दोनों को Claude नामक AI द्वारा खोजा गया था।
Vim में, एक रिमोट कोड एक्जीक्यूशन (RCE) भेद्यता तब उत्पन्न होती है जब एक विशेष रूप से तैयार की गई फ़ाइल खोली जाती है। यह भेद्यता "मॉडलिन" (modeline) सुविधा का लाभ उठाती है, जो फ़ाइल के अंत में कमांड को परिभाषित करने की अनुमति देती है। यदि फ़ाइल के अंत में एक विशेष स्ट्रिंग होती है, तो Vim उस स्ट्रिंग को एक कमांड के रूप में निष्पादित कर सकता है। यह भेद्यता तब और भी खतरनाक हो जाती है जब इसे टैब पैनल रेंडरिंग के साथ जोड़ा जाता है, जो विशेष स्ट्रिंग को निष्पादित करने की अनुमति देता है। यह हमलावर को दूर से कमांड चलाने, सिस्टम को नियंत्रित करने या मैलवेयर स्थापित करने में सक्षम बना सकता है।
Emacs में पाई गई भेद्यता Vim की तरह सीधी RCE नहीं है, और इसे वास्तव में Emacs का बग नहीं माना जाता है, बल्कि Git का एक अंतर्निहित मुद्दा है। यह तब होता है जब आप किसी ऐसे प्रोजेक्ट से एक टारबॉल डाउनलोड करते हैं जिसमें एक दुर्भावनापूर्ण `.git/config` फ़ाइल होती है। यह कॉन्फ़िगरेशन फ़ाइल `fsmonitor.get` नामक एक निष्पादन योग्य स्क्रिप्ट को इंगित करती है। जब Git इस स्क्रिप्ट को निष्पादित करता है (उदाहरण के लिए, `git status` चलाने पर), तो यह एक अस्थायी फ़ाइल में एक पंक्ति जोड़ता है। बार-बार Git कमांड चलाने से यह अस्थायी फ़ाइल बहुत बड़ी हो जाती है, जिससे सिस्टम पर अनपेक्षित कमांड निष्पादित हो सकते हैं।
लेखक इस बात पर जोर देते हैं कि Vim भेद्यता बहुत ही कुशल है और Vim की एक वास्तविक कमजोरी को उजागर करती है। दूसरी ओर, Emacs भेद्यता को Git की एक समस्या के रूप में देखा जाता है, क्योंकि यह Emacs के बजाय Git के व्यवहार का फायदा उठाती है। यह बताता है कि कैसे गलत बग रिपोर्टिंग से सॉफ़्टवेयर डेवलपर्स का समय बर्बाद हो सकता है।