CVE-2026-79984
Apache Camel: camel-mina-sftp ने पोल की गई फ़ाइल का रिमोट पथ सर्वर निर्देशिका लिस्टिंग में बताए गए नाम से हल किया, बिना उसे पोल की जा रही निर्देशिका तक सीमित किए, इसलिए ट्रैवर्सल सेगमेंट वाली लिस्टिंग प्रविष्टि को बाहर स्थानांतरित किया जा सकता था
- प्रकाशित
- 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 Mina SFTP घटक में एक Pathname को प्रतिबंधित निर्देशिका तक सीमित करने में अनुचित सीमा ('Path Traversal') की भेद्यता। यह समस्या Apache Camel को प्रभावित करती है: 4.18.0 से 4.18.5 से पहले तक, 4.19.0 से 4.22.1 से पहले तक। Camel के remote-file consumers किसी रिमोट सर्वर पर एक निर्देशिका को poll करते हैं और प्रत्येक फ़ाइल का पूर्ण रिमोट पथ, कॉन्फ़िगर की गई निर्देशिका को सर्वर की निर्देशिका लिस्टिंग में बताए गए फ़ाइल नाम के साथ जोड़कर (concatenate करके) बनाते हैं। उस concatenation (FtpUtils.absoluteFilePath और GenericFileConsumer) में कोई lexical normalization नहीं लागू किया गया था और न ही यह जाँच की गई थी कि परिणाम उस निर्देशिका के भीतर ही रहा जिसे poll किया जा रहा था, और परिणामी पथ फ़ाइल पर प्रत्येक आगामी रिमोट ऑपरेशन के लिए operand बन गया: retrieval (FtpOperations.retrieveFile / SftpOperations, जिस तक GenericFileConsumer से पहुँचा जाता है जहाँ retrieve नाम सीधे GenericFile.getAbsoluteFilePath से लिया जाता है), delete=true होने पर deletion (GenericFileDeleteProcessStrategy), और जब move, preMove, moveFailed या readLock=rename कॉन्फ़िगर हो तो renaming (GenericFileProcessStrategySupport और GenericFileRenameExclusiveReadLockStrategy)। न तो isValidFile और न ही isMatched ने कोई containment जाँच की। इसलिए एक लिस्टिंग प्रविष्टि जो एकल path segment नहीं है, कॉन्फ़िगर की गई polling निर्देशिका के बाहर के पथ पर resolve हो गई, जिससे Camel ने endpoint के अपने credentials का उपयोग करके उसके बाहर की फ़ाइलों को पढ़ा, हटाया या rename किया। लिस्टिंग नाम route-नियंत्रित डेटा नहीं है। यह रिमोट सर्वर द्वारा प्रदान किया जाता है, और FTP control channel में कोई integrity protection बिल्कुल नहीं है, इसलिए एक on-path attacker बिना कोई credentials रखे LIST प्रतिक्रिया को फिर से लिख सकता है; एक समझौता किया गया, दुर्भावनापूर्ण या multi-tenant सर्वर, या virtual filesystem द्वारा समर्थित सर्वर, ऐसा नाम सीधे उत्सर्जित कर सकता है। Retrieval डिफ़ॉल्ट consumer कॉन्फ़िगरेशन में पहुँच योग्य है, क्योंकि remote consumers प्रत्येक सूचीबद्ध फ़ाइल को डाउनलोड करते हैं; deletion और renaming के लिए अतिरिक्त रूप से उपरोक्त disposition विकल्पों में से एक की आवश्यकता होती है, जो सभी सामान्य हैं। उस निर्देशिका से बाहर निकलना जिसे Camel को poll करने के लिए कॉन्फ़िगर किया गया था, बिना शर्त है, जबकि सर्वर के अपने account boundary से बाहर निकलना अतिरिक्त रूप से इस पर निर्भर करता है कि वह सर्वर उस account को सीमित करता है या नहीं। jailStartingDirectory विकल्प, जिसे Camel को starting directory तक सीमित करने के रूप में प्रलेखित किया गया है और जो डिफ़ॉल्ट रूप से सक्षम है, producer writes को नियंत्रित करता था और, localWorkDirectory containment कार्य के बाद से, consumer downloads को local work directory तक - लेकिन इसने इस remote operand को सीमित नहीं किया, इसलिए इसके नाम और विवरण ने एक ऐसी सीमा का दावा किया जो यहाँ लागू नहीं थी। वही entry point स्थानीय पक्ष पर पहले ही पहचाना जा चुका था: localWorkDirectory download पथ को इस प्रकार सीमित किया गया था कि parent-directory segments वाला रिमोट फ़ाइल नाम local work directory के बाहर resolve नहीं हो सके। remote operand उस surface का शेष आधा भाग था। यह artifact mina-sftp scheme प्रदान करता है, एक वैकल्पिक SFTP कार्यान्वयन जिसका consumer उसी RemoteFileConsumer base class से व्युत्पन्न होता है और इसलिए उसे वही unconstrained resolution विरासत में मिला। Apache Camel 4.23.0 में अपग्रेड करें, जो इस समस्या को ठीक करता है। 4.22.x releases stream पर उपयोगकर्ताओं को 4.22.1 में अपग्रेड करना चाहिए। 4.18.x LTS releases stream पर उपयोगकर्ताओं को 4.18.5 में अपग्रेड करना चाहिए। 4.14.x stream end of life तक पहुँच चुका है और इसे यह fix प्राप्त नहीं होता; इस पर उपयोगकर्ताओं को किसी समर्थित releases stream में स्थानांतरित होना चाहिए।
जिम्मेदारीपूर्ण उपयोग
भेद्यता जानकारी का उपयोग केवल उन प्रणालियों पर करें जिनके मालिक आप हैं या परीक्षण के लिए अधिकृत हैं। किटप्लॉइट सार्वजनिक अनुसंधान मेटाडेटा से लिंक करता है और शोषण कोड या दुर्भावनापूर्ण पेलोड को संग्रहीत नहीं करता है।