CVE-2026-66906
Apache Camel: Camel-Azure-Storage-Blob: downloadBlobToFile ऑपरेशन ने रिमोट blob नाम से स्थानीय डाउनलोड लक्ष्य बनाया, बिना इसे कॉन्फ़िगर किए गए fileDir तक सीमित किए
- प्रकाशित
- 24 अग॰ 2026
- अद्यतन
- 25 अग॰ 2026
- सीएनए असाइन करना
- apache
- साक्ष्य देखे गए
- 24 अग॰ 2026
प्राथमिक सीवीएसएस
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Nकम · अगले 30 दिन
- प्रतिशत
- 43.6%
- मॉडल दिनांक
- 21 सित॰ 2026
ईपीएसएस एक सांख्यिकीय अनुमान है, कोई निश्चितता या प्रभाव का माप नहीं। इसे सीवीएसएस, केईवी स्थिति, एक्सपोज़र और अपने वातावरण के साथ मिलाएं।
सारांश
Apache Camel Azure Storage Blob घटक में सापेक्ष पाथ ट्रैवर्सल भेद्यता। यह समस्या Apache Camel को प्रभावित करती है: 4.0.0 से 4.14.9 से पहले, 4.15.0 से 4.18.4 से पहले, 4.19.0 से 4.22.0 से पहले। camel-azure-storage-blob घटक अपने downloadBlobToFile ऑपरेशन के माध्यम से Azure Storage ब्लॉब को स्थानीय फ़ाइल सिस्टम पर डाउनलोड कर सकता है, fileDir एंडपॉइंट विकल्प द्वारा नामित निर्देशिका में लिखते हुए, जिसे दस्तावेज़ों में प्रोड्यूसर और कंज़्यूमर दोनों से उपयोग योग्य बताया गया है। BlobOperations.downloadBlobToFile ने Azure SDK द्वारा रिपोर्ट किए गए रिमोट ब्लॉब नाम के साथ fileDir को जोड़कर स्थानीय लक्ष्य बनाया (new File(fileDir, client.getBlobName())) और परिणाम को सीधे SDK डाउनलोड कॉल में भेज दिया, बिना किसी लेक्सिकल नॉर्मलाइज़ेशन के और बिना यह जाँचे कि हल किया गया स्थान fileDir के भीतर ही रहा। ब्लॉब नाम रूट-नियंत्रित डेटा नहीं है: कंज़्यूमर BlobConsumer.createBatchExchangesFromContainer में कंटेनर की गणना करता है, जो ब्लॉब्स को सूचीबद्ध करता है और BlobItem.getName() से प्रत्येक प्रविष्टि के लिए शब्दशः एक एक्सचेंज बनाता है, डिफ़ॉल्ट रूप से कोई नाम फ़िल्टरिंग लागू नहीं करता। इसलिए पैरेंट-निर्देशिका खंडों वाला एक ब्लॉब नाम कॉन्फ़िगर किए गए fileDir के बाहर किसी स्थान पर हल हो गया, जिससे कंज़्यूम किए गए कंटेनर में मौजूद नामों को प्रभावित करने में सक्षम कोई भी व्यक्ति Camel को अपनी पसंद के स्थान पर फ़ाइल बनाने या अधिलेखित करने के लिए प्रेरित कर सकता था, Camel प्रक्रिया के विशेषाधिकारों के साथ। यह इस बात पर निर्भर करता है कि प्रक्रिया कहाँ लिख सकती है, डाउनलोड निर्देशिका के बाहर किसी फ़ाइल को अधिलेखित करना उस फ़ाइल की अखंडता के नुकसान से आगे बढ़ सकता है। Azure Storage ब्लॉब कंटेनर एक फ्लैट नेमस्पेस का उपयोग करते हैं जिसमें ब्लॉब नाम एक अपारदर्शी कुंजी है, इसलिए ऐसे खंडों वाला नाम जैसा दिया गया है वैसा ही संग्रहीत और सूचीबद्ध किया जाता है। fileDir विकल्प एक साधारण कॉमन-ग्रुप कॉन्फ़िगरेशन पैरामीटर है और इसमें कोई सुरक्षा चिह्न नहीं है, इसलिए उपयोगकर्ताओं को यह संकेत देने वाला कुछ भी नहीं था कि इसका मान कंटेनमेंट सीमा के रूप में लागू नहीं किया जा रहा था। Camel के अन्य फ़ाइल-डाउनलोड कंज़्यूमर - camel-file, camel-ftp, camel-smb, camel-mina-sftp और camel-azure-files - पहले से ही पाथ-सेगमेंट सीमा जाँच का उपयोग करके अपने स्थानीय डाउनलोड को कॉन्फ़िगर की गई निर्देशिका तक सीमित कर चुके थे; camel-azure-storage-blob डाउनलोड पथ उस कार्य द्वारा कवर नहीं किया गया था। उपयोगकर्ताओं को संस्करण 4.22.0 में अपग्रेड करने की अनुशंसा की जाती है, जो समस्या को ठीक करता है। यदि उपयोगकर्ता 4.14.x LTS रिलीज़ स्ट्रीम पर हैं, तो उन्हें 4.14.9 में अपग्रेड करने का सुझाव दिया जाता है। यदि उपयोगकर्ता 4.18.x रिलीज़ स्ट्रीम पर हैं, तो उन्हें 4.18.4 में अपग्रेड करने का सुझाव दिया जाता है। उन परिनियोजनों के लिए जो तुरंत अपग्रेड नहीं कर सकते, regex एंडपॉइंट विकल्प का उपयोग करके उन नामों को सीमित करें जिन पर कंज़्यूमर कार्य करेगा, जो प्रत्येक सूचीबद्ध ब्लॉब नाम पर पूर्ण-स्ट्रिंग मिलान के रूप में लागू होता है, ताकि केवल सरल एकल-खंड नाम स्वीकार किए जाएँ और पाथ सेपरेटर या पैरेंट-निर्देशिका खंड वाला कोई भी नाम एक्सचेंज बनाए जाने से पहले फ़िल्टर कर दिया जाए; prefix विकल्प लिस्टिंग को सर्वर-साइड पर अतिरिक्त रूप से संकीर्ण कर सकता है, यह ध्यान देते हुए कि जब दोनों सेट होते हैं तो regex प्राथमिकता लेता है और prefix को अनदेखा किया जाता है। वैकल्पिक रूप से, अविश्वसनीय कंटेनरों पर downloadBlobToFile ऑपरेशन से बचें और पेलोड को रूट से एक ऐसे फ़ाइल नाम के तहत लिखें जिसे रूट स्वयं नियंत्रित करता है, न कि रिमोट लिस्टिंग से लिया गया कोई नाम। डिफेंस इन डेप्थ के रूप में, किसी भी बाहरी रूप से लिखने योग्य कंटेनर में ब्लॉब नामों को अविश्वसनीय इनपुट के रूप में मानें और उनसे स्थानीय फ़ाइल सिस्टम पथ न निकालें।
जिम्मेदारीपूर्ण उपयोग
भेद्यता जानकारी का उपयोग केवल उन प्रणालियों पर करें जिनके मालिक आप हैं या परीक्षण के लिए अधिकृत हैं। किटप्लॉइट सार्वजनिक अनुसंधान मेटाडेटा से लिंक करता है और शोषण कोड या दुर्भावनापूर्ण पेलोड को संग्रहीत नहीं करता है।