CVE-2025-65346 – laravel-file-manager v3.3.1 में UnZip फ़ंक्शन से प्रमाणित पाथ ट्रैवर्सल जिसके कारण मनमाना फ़ाइल लेखन
🧭 अवलोकन
प्रभावित एप्लिकेशन की अनज़िप/निकालने की कार्यक्षमता में एक पाथ ट्रैवर्सल भेद्यता हमलावर को संग्रह निष्कर्षण के दौरान फ़ाइलों को मनमाने फाइलसिस्टम स्थानों पर लिखने की अनुमति देती है। चूँकि निष्कर्षण रूटीन ZIP प्रविष्टियों के अंदर गंतव्य पथों को सैनिटाइज़ करने में विफल रहता है, एक हमलावर ट्रैवर्सल अनुक्रम (जैसे, ../../routes) या पूर्ण पथ वाले ZIP संग्रह तैयार कर सकता है। जब एप्लिकेशन द्वारा संसाधित किया जाता है, तो ये फ़ाइलें चल रही प्रक्रिया की अनुमतियों के साथ सीधे निर्दिष्ट स्थानों पर निकाली जाती हैं।
इस दोष का दुरुपयोग मौजूदा फ़ाइलों को अधिलेखित करने (overwrite), निष्पादन योग्य पेलोड स्थापित करने, या एप्लिकेशन व्यवहार को संशोधित करने के लिए किया जा सकता है, जिससे संभावित रूप से रिमोट कोड निष्पादन हो सकता है।
🧱 प्रभावित घटक
- प्रोजेक्ट:
laravel-file-manager
- घटक:
zip/archiving Functionf
- प्रभावित संस्करण: v3.3.1 और उससे नीचे
🎯 हमले के वेक्टर
- हमलावर एप्लिकेशन के अनज़िप एंडपॉइंट पर एक ZIP संग्रह अपलोड करता है या प्रदान करता है (कॉन्फ़िगरेशन के आधार पर प्रमाणीकरण आवश्यक हो भी सकता है और नहीं भी)।
- UNZIP अनुरोध पेलोड में ../../routes जैसे निर्देशिका ट्रैवर्सल अनुक्रम शामिल करने के लिए हेरफेर करें।
- बैकएंड निष्कर्षण तर्क इन पथों को बिना सत्यापन के हल करता है और फ़ाइलों को सीधे उन स्थानों पर लिखता है।
- यदि फ़ाइल नाम टकराते हैं तो मौजूदा फ़ाइलें चुपचाप अधिलेखित हो सकती हैं।
- हमलावर एप्लिकेशन फ़ाइलों को बदलने, वेब शेल लिखने, या महत्वपूर्ण कॉन्फ़िगरेशन फ़ाइलों को संशोधित करने की क्षमता प्राप्त कर लेता है।
💥 प्रभाव
- मनमाना फ़ाइल लेखन: फ़ाइलें एप्लिकेशन उपयोगकर्ता (जैसे, www-data) द्वारा लिखने योग्य किसी भी स्थान पर लिखी जा सकती हैं।
- फ़ाइल अधिलेखन: हमलावर रूट्स, कंट्रोलर या कॉन्फ़िगरेशन सहित वैध एप्लिकेशन फ़ाइलों को अधिलेखित कर सकते हैं।
- रिमोट कोड निष्पादन: वेबरूट में PHP, JSP, या अन्य वेब-निष्पादन योग्य पेलोड लिखकर, हमलावर पूर्ण कोड निष्पादन प्राप्त कर सकता है।
- एप्लिकेशन समझौता: एंट्री पॉइंट्स, जैसे index.php, का संशोधन साइट तर्क को बदल सकता है या स्थायी बैकडोर पेश कर सकता है।
- विशेषाधिकार वृद्धि (अप्रत्यक्ष): config/env फ़ाइलों को अधिलेखित करने से रहस्य उजागर हो सकते हैं जो आगे पार्श्व आंदोलन को सक्षम करते हैं।
गंभीरता: क्रिटिकल
आधार स्कोर: 9.1
वेक्टर: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
🛡️ अनुशंसित उपाय
- कैनोनिकल पाथ सत्यापन लागू करें: अनुरोधित फ़ाइल पथों को सामान्य करें और प्रोजेक्ट के निर्धारित स्टोरेज रूट तक सख्त प्रतिबंध लागू करें।
- ट्रैवर्सल अनुक्रम (../, %2e%2e/, नेस्टेड ट्रैवर्सल) वाले किसी भी पथ को अस्वीकार करें।
- सर्वर-साइड अनुमत सूची (allowlist) तर्क लागू करें
- विक्रेता द्वारा इस पाथ ट्रैवर्सल कमजोरी को संबोधित करने वाला फिक्स जारी करने के बाद एक पैच किए गए संस्करण में अपडेट करें।
🙏 श्रेय
द्वारा खोजा गया और रिपोर्ट किया गया: Theethat Thamwasin