
CVE-2023-44451, CVE-2023-52076: RCE भेद्यता लोकप्रिय Linux डिस्ट्रोस को प्रभावित करती है जिसमें Mint, Kali, Parrot, Manjaro आदि शामिल हैं। EPUB फ़ाइल पार्सिंग डायरेक्टरी ट्रैवर्सल रिमोट कोड एक्ज़ीक्यूशन
RCE भेद्यता ने लोकप्रिय Linux डिस्ट्रोस को प्रभावित किया जिसमें Mint, Kali, Parrot, Manjaro आदि शामिल हैं। EPUB फ़ाइल पार्सिंग डायरेक्टरी ट्रैवर्सल रिमोट कोड एक्ज़ीक्यूशन
Linux के MATE/ और Linux Mint के डिफ़ॉल्ट दस्तावेज़ व्यूअर सॉफ़्टवेयर में एक गंभीर पाथ ट्रैवर्सल और आर्बिट्ररी फ़ाइल राइट भेद्यता खोजी गई है, जो Kali Linux, Parrot Security OS, Ubuntu-Mate, Linux Mint, Xubuntu और अन्य सभी ऑपरेटिंग सिस्टम को प्रभावित करती है जो MATE या Atril/Xreader को डिफ़ॉल्ट दस्तावेज़ व्यूअर के रूप में उपयोग करते हैं।
यह भेद्यता Atril Document Viewer और Xreader Document Viewer में मौजूद है, जो क्रमशः MATE वातावरण और Linux Mint के डिफ़ॉल्ट दस्तावेज़ व्यूअर हैं। Atril Kali Linux, Ubuntu-Mate, Parrot Security OS, और Xubuntu के लिए डिफ़ॉल्ट दस्तावेज़ रीडर है, और Xreader Linux Mint के लिए डिफ़ॉल्ट दस्तावेज़ रीडर है।
यह भेद्यता फ़ाइल सिस्टम पर कहीं भी आर्बिट्ररी फ़ाइलें लिखने में सक्षम है, जहाँ तक उस उपयोगकर्ता की पहुँच है जो एक क्राफ्टेड दस्तावेज़ खोलता है, एकमात्र सीमा यह है कि इस भेद्यता का उपयोग मौजूदा फ़ाइलों को ओवरराइट करने के लिए नहीं किया जा सकता है, लेकिन यह किसी हमलावर को लक्षित सिस्टम पर रिमोट कमांड एक्ज़ीक्यूशन प्राप्त करने से नहीं रोकता है।
इस भेद्यता का उपयोग मौजूदा फ़ाइलों को ओवरराइट करने के लिए नहीं किया जा सकता है, यह केवल किसी भी निर्दिष्ट स्थान पर नई फ़ाइलें बना सकता है, लेकिन यह हमें RCE प्राप्त करने से नहीं रोकता है। मैंने भेद्यता का उपयोग करके $HOME/.config/autostart के अंतर्गत एक .desktop प्रविष्टि लिखने की कोशिश की और फिर मैंने लॉग आउट करके वापस लॉग इन किया, दुर्भावनापूर्ण .desktop प्रविष्टि ट्रिगर हो गई और मुझे रिमोट कमांड एक्ज़ीक्यूशन मिल गया। मैंने .ssh/ निर्देशिका के अंतर्गत एक authorized_keys फ़ाइल रखने की भी कोशिश की और SSH के माध्यम से RCE प्राप्त किया। नोट: यदि कोई निर्देशिका मौजूद नहीं है तो यह निर्देशिका स्वचालित रूप से बना देगा।
Ebook प्रारूप के बारे में कौन जानता है? क्या सभी ने PDF पर स्विच नहीं कर लिया?
उत्तर नहीं है, EPUB अभी भी एक लोकप्रिय और शक्तिशाली दस्तावेज़ प्रारूप है, लेकिन कई लोग PDF पसंद करते हैं। उनमें से अधिकांश PDF से परिचित हैं। इसलिए, मैं इस भेद्यता के प्रभाव को अधिकतम करने की कोशिश कर रहा था। एक और दिलचस्प बात जो मैंने देखी, वह यह थी कि .epub दस्तावेज़ का नाम बदलकर something.pdf करने पर, भेद्य दस्तावेज़ व्यूअर (Atril/Xreader) something.pdf फ़ाइल को खोलने की कोशिश करता है और इसे EPUB दस्तावेज़ के रूप में पढ़ता है क्योंकि यह EPUB और PDF दोनों को पढ़ने के लिए ज़िम्मेदार है, यह कई अन्य दस्तावेज़ प्रारूपों का भी समर्थन करता है। दूसरे शब्दों में, हम अपने क्राफ्टेड something.epub का नाम बदलकर something.pdf कर सकते हैं और फिर इसे लक्ष्य पर भेज सकते हैं ताकि लक्ष्य पर RCE प्राप्त हो सके।
तो सब कुछ ठीक है, हम एक एक्सप्लॉइट बना सकते हैं जो /home//.config/autostart/ निर्देशिका के अंतर्गत दुर्भावनापूर्ण .desktop प्रविष्टियाँ लिखने के लिए एक epub/pdf जोड़ी तैयार करेगा। लेकिन एक छोटी सी समस्या है, इस बग के सफल शोषण के लिए लक्षित उपयोगकर्ता का उपयोगकर्ता नाम आवश्यक है। क्या होगा अगर हम उपयोगकर्ता नाम नहीं जानते? कोई आसान RCE नहीं? क्या आप उपयोगकर्ता नाम का अनुमान लगा सकते हैं? यादृच्छिक सामान्य उपयोगकर्ता नाम आज़माने की आवश्यकता है? देखते हैं मुझे क्या मिला..
आगे के विश्लेषण पर, मैंने पाया कि हम /proc/self/cwd का उपयोग करके उपयोगकर्ता की होम निर्देशिका तक पहुँच सकते हैं यदि वह क्राफ्टेड दस्तावेज़ डाउनलोड करता है और उसे अपनी होम निर्देशिका के अंदर कहीं खोलता है जैसे कि ~/Downloads/, ~/Documents/ निर्देशिका। इसलिए हम केवल गैजेट ../../../../../proc/self/cwd/../.config/autostart/exploit.desktop का उपयोग करके पाथ ट्रैवर्सल बग का शोषण करके RCE प्राप्त कर सकते हैं।
मैंने इस भेद्यता के लिए एक पूरी तरह से काम करने वाला एक्सप्लॉइट (exploit_rce.sh) और पाथ ट्रैवर्सल के लिए कस्टम फ़ाइलें लिखने और शामिल करने के लिए एक स्क्रिप्ट (exploit_file_write.sh) बनाई है।
नोट: MATE के Atril में भेद्यता ठीक नहीं हुई है, डेवलपर्स भेद्यता को पैच कर रहे हैं। इसलिए मैंने दुर्भावनापूर्ण EPUB दस्तावेज़ों का पता लगाने और उन्हें खोलने से पहले साफ करने के लिए एक डिटेक्शन स्क्रिप्ट (detect.sh) जोड़ी है।
