CVE-2026-60093
Apache Camel: Camel-Azure-Storage-DataLake: downloadToFile ऑपरेशन ने स्थानीय डाउनलोड लक्ष्य को रिमोट पथ नाम से बनाया, बिना इसे कॉन्फ़िगर किए गए fileDir तक सीमित किए
- प्रकाशित
- 24 अग॰ 2026
- अद्यतन
- 25 अग॰ 2026
- सीएनए असाइन करना
- apache
- साक्ष्य देखे गए
- 24 अग॰ 2026
प्राथमिक सीवीएसएस
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:Nकम · अगले 30 दिन
- प्रतिशत
- 17.7%
- मॉडल दिनांक
- 21 सित॰ 2026
ईपीएसएस एक सांख्यिकीय अनुमान है, कोई निश्चितता या प्रभाव का माप नहीं। इसे सीवीएसएस, केईवी स्थिति, एक्सपोज़र और अपने वातावरण के साथ मिलाएं।
सारांश
Apache Camel Azure-Storage Datalake घटक में सापेक्ष पथ-परिवर्तन (Relative path traversal) भेद्यता यह समस्या Apache Camel के निम्नलिखित संस्करणों को प्रभावित करती है: 4.0.0 से 4.14.9 से पहले तक, 4.15.0 से 4.18.4 से पहले तक, 4.19.0 से 4.22.0 से पहले तक। camel-azure-storage-datalake घटक अपने downloadToFile ऑपरेशन के माध्यम से Azure Data Lake Storage Gen2 फ़ाइल को स्थानीय फ़ाइल सिस्टम पर डाउनलोड कर सकता है, तथा fileDir एंडपॉइंट विकल्प द्वारा निर्दिष्ट निर्देशिका में लिखता है। DataLakeFileOperations.downloadToFile ने fileDir को रिमोट पथ नाम के साथ जोड़कर स्थानीय लक्ष्य का निर्माण किया - ठीक उसी रूप में जैसा Azure SDK ने इसे रिपोर्ट किया (new File(fileDir, fileClientWrapper.getFileName())) - और परिणाम को बिना किसी लेक्सिकल सामान्यीकरण (lexical normalization) के तथा बिना यह जाँचे कि हल किया गया स्थान fileDir के भीतर ही रहा, सीधे SDK डाउनलोड कॉल को सौंप दिया। रिमोट नाम रूट-नियंत्रित डेटा नहीं है: उपभोक्ता (consumer) DataLakeConsumer.createBatchExchangesFromPath में फ़ाइल सिस्टम की गणना करता है, जो पथों की सूची बनाता है और PathItem.getName() से प्राप्त प्रत्येक प्रविष्टि के लिए शब्दशः (verbatim) एक एक्सचेंज बनाता है, तथा डिफ़ॉल्ट रूप से कोई नाम फ़िल्टरिंग लागू नहीं करता। इसलिए, पैरेंट-निर्देशिका खंडों (parent-directory segments) वाला एक पथ नाम कॉन्फ़िगर किए गए fileDir के बाहर के स्थान पर हल हो गया, जिससे उपभोग किए जा रहे Data Lake फ़ाइल सिस्टम में मौजूद नामों को प्रभावित करने में सक्षम कोई भी व्यक्ति, Camel प्रक्रिया के विशेषाधिकारों के साथ, अपनी पसंद के स्थान पर Camel द्वारा फ़ाइल बनाने या अधिलेखित (overwrite) कराने का कारण बन सकता है। प्रक्रिया किन स्थानों पर लिख सकती है, इसके आधार पर, डाउनलोड निर्देशिका के बाहर किसी फ़ाइल को अधिलेखित करना उस फ़ाइल की अखंडता (integrity) की हानि से आगे बढ़कर अधिक गंभीर हो सकता है। fileDir विकल्प एक साधारण common-group कॉन्फ़िगरेशन पैरामीटर है और इसमें कोई सुरक्षा चिह्नक नहीं होता, इसलिए उपयोगकर्ताओं को यह संकेत देने के लिए कुछ भी नहीं था कि इसका मान एक कंटेनमेंट सीमा (containment boundary) के रूप में लागू नहीं किया जा रहा है। Camel के अन्य फ़ाइल-डाउनलोड उपभोक्ता - camel-file, camel-ftp, camel-smb, camel-mina-sftp और camel-azure-files - पहले से ही पथ-खंड सीमा जाँच (path-segment boundary check) के माध्यम से अपने स्थानीय डाउनलोड को कॉन्फ़िगर की गई निर्देशिका तक सीमित रखते थे; camel-azure-storage-datalake डाउनलोड पथ उस कार्य द्वारा कवर नहीं किया गया था। उपयोगकर्ताओं को संस्करण 4.22.0 में अपग्रेड करने की अनुशंसा की जाती है, जो इस समस्या को ठीक करता है। यदि उपयोगकर्ता 4.14.x LTS रिलीज़ स्ट्रीम पर हैं, तो उन्हें 4.14.9 में अपग्रेड करने का सुझाव दिया जाता है। यदि उपयोगकर्ता 4.18.x रिलीज़ स्ट्रीम पर हैं, तो उन्हें 4.18.4 में अपग्रेड करने का सुझाव दिया जाता है। उन परिनियोजनों (deployments) के लिए जो तुरंत अपग्रेड नहीं कर सकते, regex एंडपॉइंट विकल्प का उपयोग करके उपभोक्ता द्वारा कार्य किए जाने वाले नामों को प्रतिबंधित करें; यह विकल्प प्रत्येक सूचीबद्ध पथ नाम पर पूर्ण-स्ट्रिंग मिलान (full-string match) के रूप में लागू होता है, ताकि केवल सरल एकल-खंड (single-segment) नाम स्वीकार किए जाएँ और किसी भी ऐसे नाम को, जिसमें पथ विभाजक या पैरेंट-निर्देशिका खंड हो, एक्सचेंज बनने से पहले फ़िल्टर कर दिया जाए। वैकल्पिक रूप से, अविश्वसनीय फ़ाइल सिस्टम पर downloadToFile ऑपरेशन से बचें और रूट से प्राप्त पेलोड को ऐसे फ़ाइल नाम के अंतर्गत लिखें जिसे रूट स्वयं नियंत्रित करता है, न कि रिमोट सूची से लिए गए नाम के अंतर्गत। गहराई में सुरक्षा (defence in depth) के रूप में, किसी भी बाह्य रूप से लिखने योग्य Data Lake फ़ाइल सिस्टम में मौजूद ऑब्जेक्ट नामों को अविश्वसनीय इनपुट मानें और उनसे स्थानीय फ़ाइल सिस्टम पथ व्युत्पन्न न करें।
जिम्मेदारीपूर्ण उपयोग
भेद्यता जानकारी का उपयोग केवल उन प्रणालियों पर करें जिनके मालिक आप हैं या परीक्षण के लिए अधिकृत हैं। किटप्लॉइट सार्वजनिक अनुसंधान मेटाडेटा से लिंक करता है और शोषण कोड या दुर्भावनापूर्ण पेलोड को संग्रहीत नहीं करता है।