CVE-2026-79985
Apache Camel: camel-smb ने सर्वर निर्देशिका सूची में रिपोर्ट किए गए नाम से पोल की गई फ़ाइल का रिमोट पथ इस प्रकार हल किया कि उसे उस निर्देशिका तक सीमित नहीं रखा जिसे पोल किया जा रहा था, इसलिए ट्रैवर्सल सेगमेंट वाली एक सूची प्रविष्टि को बाहर स्थानांतरित किया जा सकता था
- प्रकाशित
- 19 अक्टू॰ 2026
- अद्यतन
- 19 अक्टू॰ 2026
- सीएनए असाइन करना
- apache
- साक्ष्य देखे गए
- 17 अक्टू॰ 2026
प्राथमिक सीवीएसएस
cvelist · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:Nसारांश
Apache Camel SMB घटक में एक Pathname को प्रतिबंधित निर्देशिका तक सीमित करने की अनुचित सीमा ('Path Traversal') भेद्यता। यह समस्या Apache Camel को प्रभावित करती है: 4.2.0 से 4.18.5 से पहले तक, 4.19.0 से 4.22.1 से पहले तक। Camel के remote-file उपभोक्ता किसी दूरस्थ सर्वर पर एक निर्देशिका को पोल करते हैं और प्रत्येक फ़ाइल का पूर्ण दूरस्थ पथ, कॉन्फ़िगर की गई निर्देशिका को सर्वर की निर्देशिका सूची में बताए गए फ़ाइल नाम के साथ जोड़कर बनाते हैं। उस संयोजन (FtpUtils.absoluteFilePath और GenericFileConsumer) में कोई शाब्दिक सामान्यीकरण (lexical normalization) लागू नहीं किया गया था और न ही यह जाँच की गई थी कि परिणाम पोल की जा रही निर्देशिका के भीतर ही रहा, और परिणामी पथ फ़ाइल पर प्रत्येक आगामी दूरस्थ ऑपरेशन के लिए ऑपरेंड बन गया: पुनर्प्राप्ति (FtpOperations.retrieveFile / SftpOperations, जिस तक GenericFileConsumer से पहुँचा जाता है जहाँ retrieve नाम सीधे GenericFile.getAbsoluteFilePath से लिया जाता है), delete=true होने पर विलोपन (GenericFileDeleteProcessStrategy), और move, preMove, moveFailed या readLock=rename कॉन्फ़िगर होने पर नाम बदलना (GenericFileProcessStrategySupport और GenericFileRenameExclusiveReadLockStrategy)। न तो isValidFile और न ही isMatched ने कोई containment जाँच की। इसलिए एक लिस्टिंग प्रविष्टि जो एकल पथ खंड नहीं है, कॉन्फ़िगर की गई पोलिंग निर्देशिका के बाहर के पथ पर हल हो गई, जिससे Camel ने endpoint के अपने क्रेडेंशियल्स का उपयोग करके उसके बाहर की फ़ाइलों को पढ़ा, हटाया या उनका नाम बदला। एक लिस्टिंग नाम रूट-नियंत्रित डेटा नहीं है। यह दूरस्थ सर्वर द्वारा प्रदान किया जाता है, और FTP नियंत्रण चैनल में कोई अखंडता सुरक्षा नहीं है, इसलिए एक on-path हमलावर बिना कोई क्रेडेंशियल रखे LIST प्रतिक्रिया को फिर से लिख सकता है; एक समझौता किया गया, दुर्भावनापूर्ण या मल्टी-टेनेंट सर्वर, या वर्चुअल फ़ाइलसिस्टम द्वारा समर्थित सर्वर, ऐसा नाम सीधे उत्सर्जित कर सकता है। पुनर्प्राप्ति डिफ़ॉल्ट उपभोक्ता कॉन्फ़िगरेशन में पहुँच योग्य है, क्योंकि दूरस्थ उपभोक्ता प्रत्येक सूचीबद्ध फ़ाइल को डाउनलोड करते हैं; विलोपन और नाम बदलने के लिए अतिरिक्त रूप से उपरोक्त में से एक disposition विकल्प आवश्यक है, जो सभी सामान्य हैं। Camel को पोल करने के लिए कॉन्फ़िगर की गई निर्देशिका से पलायन बिना शर्त है, जबकि सर्वर के अपने खाता सीमा से पलायन अतिरिक्त रूप से इस पर निर्भर करता है कि वह सर्वर उस खाते को सीमित करता है या नहीं। jailStartingDirectory विकल्प, जिसे Camel को प्रारंभिक निर्देशिका तक सीमित करने के रूप में प्रलेखित किया गया है और जो डिफ़ॉल्ट रूप से सक्षम है, उत्पादक लेखनों को नियंत्रित करता था और, localWorkDirectory containment कार्य के बाद से, उपभोक्ता डाउनलोड को स्थानीय कार्य निर्देशिका तक - लेकिन इसने इस दूरस्थ ऑपरेंड को सीमित नहीं किया, इसलिए इसके नाम और विवरण ने एक ऐसी सीमा का दावा किया जो यहाँ लागू नहीं थी। वही प्रवेश बिंदु स्थानीय पक्ष पर पहले ही पहचाना जा चुका था: localWorkDirectory डाउनलोड पथ को इस प्रकार सीमित किया गया था कि parent-directory खंडों वाला दूरस्थ फ़ाइल नाम स्थानीय कार्य निर्देशिका के बाहर हल न हो सके। दूरस्थ ऑपरेंड उस सतह का शेष आधा भाग था। यह आर्टिफ़ैक्ट smb स्कीम प्रदान करता है। इसका उपभोक्ता RemoteFileConsumer के माध्यम से नहीं बल्कि स्वयं शेयर लिस्टिंग पर चलता है, केवल सटीक "." और ".." प्रविष्टियों को छोड़ता है, इसलिए किसी अन्य रूप में traversal खंड वाला नाम बिना जाँच के जोड़ दिया गया था। इस तक पहुँचने के लिए ऐसे सर्वर की आवश्यकता होती है जो ऐसा लिस्टिंग नाम उत्सर्जित करे जो एकल पथ खंड न हो, जो एक अनुरूप SMB2 कार्यान्वयन नहीं करता; इस exposure को इस स्कीम के विरुद्ध प्रदर्शित proof of concept के बजाय अन्य remote-file उपभोक्ताओं के समान आधार पर ठीक किया गया था। Apache Camel 4.23.0 में अपग्रेड करें, जो इस समस्या को ठीक करता है। 4.22.x रिलीज़ स्ट्रीम पर उपयोगकर्ताओं को 4.22.1 में अपग्रेड करना चाहिए। 4.18.x LTS रिलीज़ स्ट्रीम पर उपयोगकर्ताओं को 4.18.5 में अपग्रेड करना चाहिए। 4.14.x स्ट्रीम जीवन-चक्र के अंत तक पहुँच चुकी है और इसे यह फ़िक्स प्राप्त नहीं होता; इस पर उपयोगकर्ताओं को किसी समर्थित रिलीज़ स्ट्रीम पर स्थानांतरित होना चाहिए।
जिम्मेदारीपूर्ण उपयोग
भेद्यता जानकारी का उपयोग केवल उन प्रणालियों पर करें जिनके मालिक आप हैं या परीक्षण के लिए अधिकृत हैं। किटप्लॉइट सार्वजनिक अनुसंधान मेटाडेटा से लिंक करता है और शोषण कोड या दुर्भावनापूर्ण पेलोड को संग्रहीत नहीं करता है।