CVE-2026-95663
Apache Camel: Camel-Keycloak सुरक्षा नीति समाप्त हो चुके एक्सेस टोकन स्वीकार करती है क्योंकि कैश्ड टोकन इंट्रोस्पेक्शन परिणाम टोकन समाप्ति से सीमित नहीं हैं
- प्रकाशित
- 26 अक्टू॰ 2026
- अद्यतन
- 26 अक्टू॰ 2026
- सीएनए असाइन करना
- apache
- साक्ष्य देखे गए
- 30 अक्टू॰ 2026
प्राथमिक सीवीएसएस
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:Nकम · अगले 30 दिन
- प्रतिशत
- 15.6%
- मॉडल दिनांक
- 29 अक्टू॰ 2026
ईपीएसएस एक सांख्यिकीय अनुमान है, कोई निश्चितता या प्रभाव का माप नहीं। इसे सीवीएसएस, केईवी स्थिति, एक्सपोज़र और अपने वातावरण के साथ मिलाएं।
सारांश
Apache Camel Keycloak घटक में अपर्याप्त सत्र समाप्ति (Insufficient Session Expiration) की भेद्यता। यह समस्या Apache Camel को प्रभावित करती है: 4.16.0 से 4.18.5 से पहले तक, 4.19.0 से 4.22.2 से पहले तक। जब camel-keycloak KeycloakSecurityPolicy पर टोकन इंट्रोस्पेक्शन सक्षम होता है (useTokenIntrospection=true), तो सुरक्षा प्रोसेसर किसी अनुरोध के एक्सेस टोकन को Keycloak के OAuth 2.0 टोकन इंट्रोस्पेक्शन एंडपॉइंट पर भेजकर उसका सत्यापन करता है, और जब तक प्रतिक्रिया टोकन को सक्रिय बताती है, तब तक उसे स्वीकार करता है। इंट्रोस्पेक्शन एंडपॉइंट किसी टोकन के exp (समाप्ति) समय बीत जाने के बाद उसे निष्क्रिय बताता है, इसलिए इस पथ पर active फ़्लैग ही टोकन की समाप्ति को लागू करता है। इंट्रोस्पेक्शन परिणाम डिफ़ॉल्ट रूप से कैश किए जाते हैं (introspectionCacheEnabled=true, introspectionCacheTtl=60 सेकंड), और घटक के साथ आने वाले दोनों कैश कार्यान्वयन, ConcurrentMapTokenCache और CaffeineTokenCache, किसी प्रविष्टि को उसके डालने के बाद एक निश्चित समय पर समाप्त कर देते थे, बिना उस जीवनकाल को उस exp दावे से सीमित किए जो कैश की गई प्रतिक्रिया में पहले से मौजूद था। बदले में KeycloakSecurityProcessor इंट्रोस्पेक्शन का उपयोग करने वाले प्रत्येक पथ पर परिणाम के केवल active फ़्लैग की जाँच करता था, और कभी भी exp की तुलना वर्तमान समय से नहीं करता था। इसलिए टोकन समाप्त होने से कुछ समय पहले कैश की गई प्रतिक्रिया, उसी टोकन को ले जाने वाले बाद के अनुरोधों को टोकन की समाप्ति के बाद कॉन्फ़िगर किए गए समय-से-जीवन (time-to-live) तक परोसी जाती थी, और उन अनुरोधों को उन भूमिकाओं और अनुमतियों के साथ स्वीकार कर लिया जाता था जो समाप्त टोकन में थीं, जबकि RFC 7662, जो टोकन इंट्रोस्पेक्शन को परिभाषित करता है, कहता है कि exp वाली प्रतिक्रिया को उस समय से आगे कैश नहीं किया जाना चाहिए। एक्सेस टोकन कॉलर द्वारा प्रत्येक अनुरोध के साथ प्रदान किया जाता है, आमतौर पर Authorization हेडर में बियरर टोकन के रूप में, इसलिए जिस कॉलर के पास कुछ क्षण पहले वैध टोकन था, वह उसके समाप्त होने के बाद भी उसका उपयोग तब तक कर सकता था जब तक कैश की गई प्रविष्टि जीवित रहती। यह विंडो introspectionCacheTtl द्वारा सीमित है, जो डिफ़ॉल्ट रूप से 60 सेकंड है और जहाँ आंतरिक सेवाओं के लिए दस्तावेज़ की सिफ़ारिश का पालन किया गया है वहाँ 300 से 600 सेकंड है, और यह केवल उसी टोकन के लिए खुलती है जिसे उसी Camel प्रक्रिया ने टोकन के अभी भी सक्रिय रहते हुए इंट्रोस्पेक्ट और कैश किया था। यह समस्या टोकन में पहले से मौजूद किसी भी चीज़ से अधिक कुछ प्रदान नहीं करती: यह न तो टोकन जालसाज़ी की अनुमति देती है और न ही विशेषाधिकार वृद्धि (privilege escalation) की, और टोकन इंट्रोस्पेक्शन डिफ़ॉल्ट रूप से सक्षम नहीं है, यही कारण है कि गंभीरता को मध्यम आँका गया है। स्थानीय JWT सत्यापन पथ, जिसका उपयोग तब किया जाता है जब इंट्रोस्पेक्शन अक्षम होता है, इस समस्या से प्रभावित नहीं है। उपयोगकर्ताओं को संस्करण 4.23.0 में अपग्रेड करने की सिफ़ारिश की जाती है, जो इस समस्या को ठीक करता है। यदि उपयोगकर्ता 4.22.x रिलीज़ स्ट्रीम पर हैं, तो उन्हें 4.22.2 में अपग्रेड करने का सुझाव दिया जाता है। यदि उपयोगकर्ता 4.18.x रिलीज़ स्ट्रीम पर हैं, तो उन्हें 4.18.5 में अपग्रेड करने का सुझाव दिया जाता है। 4.16.x, 4.17.x और 4.19.x से 4.21.x रिलीज़ लाइनें इस समस्या के समाधान से पहले ही जीवन-चक्र के अंत (end of life) तक पहुँच चुकी थीं और उन्हें कोई फ़िक्स नहीं मिलेगा, इसलिए उन पर तैनातियों को किसी समर्थित रिलीज़ पर स्थानांतरित होना चाहिए। जो तैनातियाँ तुरंत अपग्रेड नहीं कर सकतीं, उन्हें KeycloakSecurityPolicy पर introspectionCacheEnabled=false सेट करना चाहिए, ताकि प्रत्येक अनुरोध को इंट्रोस्पेक्शन एंडपॉइंट के विरुद्ध जाँचा जाए, जो समाप्त टोकन को निष्क्रिय बताता है, हालाँकि इससे प्रति अनुरोध एक इंट्रोस्पेक्शन कॉल का खर्च आता है। introspectionCacheTtl को कम करना केवल विंडो को संकीर्ण करता है और उसे बंद नहीं करता।
जिम्मेदारीपूर्ण उपयोग
भेद्यता जानकारी का उपयोग केवल उन प्रणालियों पर करें जिनके मालिक आप हैं या परीक्षण के लिए अधिकृत हैं। किटप्लॉइट सार्वजनिक अनुसंधान मेटाडेटा से लिंक करता है और शोषण कोड या दुर्भावनापूर्ण पेलोड को संग्रहीत नहीं करता है।