
# CVE-2023-46474: PMB <=7.5.3 में रिमोट कोड निष्पादन तकनीकी विवरण और CVE-2023-46474 के लिए प्रूफ-ऑफ-कॉन्सेप्ट, जो PMB <=7.5.3 में असीमित फ़ाइल अपलोड के माध्यम से रिमोट कोड निष्पादन भेद्यता है, जिसमें पुनरुत्पादन चरण और उपचार मार्गदर्शन शामिल है।
CVE-2023-46474
| CVSS v3.1 Vector | CVSS v3.1 Score |
|---|---|
| AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H | 9.1 |
Devensys Cybersecurity के मार्कस रेनॉड द्वारा पैठ परीक्षण के दौरान खोजा गया
pmb/admin/convert/start_import.php स्क्रिप्ट Unrestricted File Upload प्रकार की कमजोरी के प्रति संवेदनशील है, जो सर्वर पर मनमाना कोड निष्पादन प्राप्त करने की अनुमति देती है।

हमलावर को पहले इस सुविधा का उपयोग करने के लिए प्लेटफ़ॉर्म तक प्रशासनिक पहुँच प्राप्त करनी होगी।
PHP स्क्रिप्ट उपयोगकर्ता द्वारा अपलोड की गई फ़ाइल के एक्सटेंशन की जाँच नहीं करती है, और इसे वेब सर्वर द्वारा सुलभ निर्देशिका में उसके एक्सटेंशन को बनाए रखते हुए संग्रहीत करती है। इस प्रकार, एक PHP स्क्रिप्ट अपलोड करना संभव है, और फिर उसे उस स्थान पर जाकर निष्पादित करना संभव है जहाँ उसे अपलोड किया गया था।
इस व्यवहार को निम्नलिखित तरीके से पुनरुत्पादित करना संभव है:
हम एक .php फ़ाइल भेजते हैं जिसमें वह कोड होता है जिसे हम सिस्टम पर निष्पादित करना चाहते हैं। यहाँ, हम सिस्टम कमांड id निष्पादित करेंगे।

प्रतिक्रिया का अवलोकन करके, हम फ़ाइल का नाम प्राप्त कर सकते हैं जैसा कि इसे सर्वर पर लिखा गया है।

अपना कोड निष्पादित करने के लिए, हमें बस ब्राउज़र के साथ /pmb/temp/[nom_du_fichier].php पर जाना होगा।

कमांड का परिणाम सर्वर द्वारा लौटाया जाता है।
इस कमजोरी का कारण फ़ाइल को डिस्क पर लिखने से पहले उस पर नियंत्रण की कमी है:

इस कमजोरी को दूर करने के लिए, उपयोगकर्ताओं द्वारा अपलोड की गई फ़ाइलों पर एक्सटेंशन नियंत्रण लागू करना आवश्यक है।
हम आपको एक व्हाइटलिस्ट प्रणाली का उपयोग करने की सलाह देते हैं, जो केवल कुछ फ़ाइल एक्सटेंशन की अनुमति देती है।
आप फ़ाइल को एक्सटेंशन छोड़कर डिस्क पर भी लिख सकते हैं (यह जानते हुए कि यह एक अस्थायी भंडारण है)।
वेब सर्वर के दायरे से बाहर एक निर्देशिका में फ़ाइल लिखना भी संभव है, जो फ़ाइल को इंटरनेट पर दुर्गम बना देगा, और कोड निष्पादित नहीं किया जा सकेगा।
संस्करण 7.5.4 और उससे ऊपर के संस्करण संवेदनशील नहीं हैं, स्क्रिप्ट को पूरी तरह से फिर से लिखा गया है।