Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-78162 — CVE-2026-78162 के लिए रन करने योग्य प्रूफ-ऑफ-कॉन्सेप्ट रिप्रोड्यूसर, जो Spring Boot और Quarkus में Apache Camel camel-hazelcast में अनऑथेंटिकेटेड Java डीसेरियलाइज़ेशन को प्रदर्शित करता है। | Kitploit
उपकरण/GitHubGitHub/oscerd/cve-2026-78162
रक्षात्मक उपकरणभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणलर्निंग और शिक्षा
GitHuboscerd/cve-2026-78162

CVE-2026-78162

CVE-2026-78162 के लिए रन करने योग्य प्रूफ-ऑफ-कॉन्सेप्ट रिप्रोड्यूसर, जो Spring Boot और Quarkus में Apache Camel camel-hazelcast में अनऑथेंटिकेटेड Java डीसेरियलाइज़ेशन को प्रदर्शित करता है।

रिपॉजिटरी देखें
92 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2026-78162 — camel-hazelcast: Java डीसेरियलाइज़ेशन फ़िल्टर के बिना प्रबंधित इंस्टेंस

Apache Camel की उस भेद्यता के लिए चलाने योग्य प्रूफ़-ऑफ़-कॉन्सेप्ट रिप्रोड्यूसर, जिसमें camel-hazelcast ने दो कॉन्फ़िगरेशन पथों पर Hazelcast इंस्टेंस JavaSerializationFilterConfig के बिना बनाए थे, जहाँ तक CVE-2026-43865 की हार्डनिंग कभी नहीं पहुँची। उन पथों पर Camel द्वारा बनाया गया Hazelcast सदस्य/क्लाइंट क्लस्टर से पढ़े गए मानों को बिना किसी क्लास प्रतिबंध के डीसेरियलाइज़ करता है, इसलिए क्लस्टर में प्रकाशित करने में सक्षम एक हमलावर अपनी पसंद के एक सीरियलाइज़्ड Java ऑब्जेक्ट को Hazelcast की सीरियलाइज़ेशन परत के भीतर डीसेरियलाइज़ करवा सकता है — रिमोट कोड एग्ज़िक्यूशन (CWE-502)। Hazelcast क्लस्टर में डिफ़ॉल्ट रूप से न तो प्रमाणीकरण और न ही TLS सक्षम होता है।

यह रिप्रोड्यूसर दोनों पथों में से सबसे स्पष्ट को चलाता है: ReplicatedHazelcastAggregationRepository, जो super.doStart() को कॉल किए बिना doStart() को ओवरराइड करता है और, किसी प्रभावित बिल्ड पर, डिफ़ॉल्ट फ़िल्टर लागू किए बिना अपना स्वयं का स्थानीय सदस्य शुरू करता है। (सहोदर पथ, hazelcastMode=client के लिए HazelcastDefaultComponent#getOrCreateHzClientInstance(), उसी फ़िक्स द्वारा कवर किया गया है।)

रनटाइमनिर्देशिकास्टैक
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-hazelcast 4.22.0 (प्रभावित; 4.22.1 में ठीक किया गया)
Camel Quarkuscamel-quarkus/Quarkus 3.29.0 + camel-quarkus-hazelcast 3.29.0 (Camel 4.15.0, प्रभावित)

फ़िक्स्ड-बनाम-प्रभावित नियंत्रण: फ़िक्स Camel 4.18.5 / 4.22.1 / 4.23.0 में आता है। Spring Boot मॉड्यूल प्रभावित बिल्ड (4.22.0) और फ़िक्स्ड बिल्ड (4.22.1) दोनों को चला सकता है, इसलिए यह पैच किए गए व्यवहार को भी प्रदर्शित करता है। अभी तक किसी भी जारी Camel Quarkus में फ़िक्स्ड Camel शामिल नहीं है (नवीनतम, 3.29.0, Camel 4.15.0 पर है), इसलिए Quarkus मॉड्यूल केवल प्रभावित मामले को प्रदर्शित करता है।

यह क्या प्रदर्शित करता है

ऐप एक Camel रूट चलाता है जो ReplicatedHazelcastAggregationRepository द्वारा समर्थित है और जिसमें कोई बाहरी रूप से आपूर्ति किया गया HazelcastInstance नहीं है, इसलिए रिपॉज़िटरी अपना स्वयं का स्थानीय Hazelcast सदस्य शुरू करती है (डिफ़ॉल्ट क्लस्टर dev, पोर्ट 5701)। प्रभावित बिल्ड पर उस सदस्य के पास कोई JavaSerializationFilterConfig नहीं होता है।

फिर एक हमलावर क्लाइंट क्लस्टर में शामिल होता है और बैकिंग ReplicatedMap में एक सीरियलाइज़्ड ऑब्जेक्ट प्रकाशित करता है। एक Hazelcast क्लाइंट केवल बाइट्स भेजता है — यह मैप मानों को संग्रहीत या डीसेरियलाइज़ नहीं करता — इसलिए जो भी डीसेरियलाइज़ेशन होता है वह पीड़ित सदस्य के कारण होता है। प्रकाशित ऑब्जेक्ट एक जानबूझकर सौम्य मार्कर है, com.example.PwnMarker: इसमें कोई गैजेट चेन नहीं है और यह कोई कमांड नहीं चलाता, यह केवल (JVM-व्यापी फ़्लैग के माध्यम से) रिकॉर्ड करता है कि इसका readObject निष्पादित हुआ। एक वास्तविक हमलावर RCE के लिए यहाँ एक ज्ञात गैजेट क्लास प्रकाशित करेगा — यह साबित करना पर्याप्त है कि क्लास को डीसेरियलाइज़ किया गया था।

चूँकि फ़िक्स का डिफ़ॉल्ट फ़िल्टर java., javax. और org.apache.camel. क्लास-नाम उपसर्गों की एक व्हाइटलिस्ट है, com.example.PwnMarker एक आदर्श ओरेकल है:

  • प्रभावित बिल्ड → कोई फ़िल्टर नहीं → PwnMarker डीसेरियलाइज़ होता है, पीड़ित सदस्य पर readObject चलता है → PROVEN।
  • फ़िक्स्ड बिल्ड → व्हाइटलिस्ट readObject से पहले com.example.PwnMarker को अस्वीकार कर देती है → java.lang.SecurityException: Resolving class com.example.PwnMarker is not allowed → शोषित नहीं।
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

प्रभावित बिल्ड पर अपेक्षित आउटपुट:

=== CVE-2026-78162 — camel-hazelcast ReplicatedHazelcastAggregationRepository ===
=== missing JavaSerializationFilterConfig on the Camel-built member ===

Attacker client joined the victim cluster 'dev' at 127.0.0.1:5701.
Attacker published a com.example.PwnMarker into ReplicatedMap 'aggregation'.

Result:
>>> PROVEN: the Camel-built Hazelcast member deserialized an attacker-supplied, non-whitelisted
>>> class (com.example.PwnMarker) with no JavaSerializationFilterConfig in effect — its readObject
>>> executed inside the victim. A real attacker would publish a gadget class here instead, for RCE.
>>>   PwnMarker.readObject executed inside the victim member; tag=attacker-rce-marker; thread=hz.*.partition-operation.thread-1

भेद्यता सारांश

गुणमान
घटकcamel-hazelcast (camel-hazelcast-starter / camel-quarkus-hazelcast)
CWECWE-502 (अविश्वसनीय डेटा का डीसेरियलाइज़ेशन)
गंभीरतामध्यम
आक्रमण वेक्टरएक आक्रमणकारी जो उस Hazelcast क्लस्टर में प्रकाशित कर सकता है जिससे एक प्रभावित इंस्टेंस जुड़ा है; Camel-निर्मित सदस्य/क्लाइंट प्रकाशित ऑब्जेक्ट को बिना किसी क्लास प्रतिबंध के डीसेरियलाइज़ करता है
प्रभावCamel प्रक्रिया के भीतर रिमोट कोड निष्पादन (एक गैजेट क्लास के माध्यम से), Camel द्वारा एक्सचेंज को संसाधित करने से पहले
प्रभावित संस्करण4.0.0 से 4.18.5 से पहले तक, 4.19.0 से 4.22.1 से पहले तक
ठीक किए गए संस्करण4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24413, CAMEL-24420
श्रेयTCBS से cattier; Leon Zlobecki

सलाह: https://camel.apache.org/security/CVE-2026-78162.html

समाधान

HazelcastSerializationFilterHelper.applyDefault(...) में एक ClientConfig ओवरलोड जोड़ा गया है और अब इसे दोनों पहले से अनकवर पथों पर कॉल किया जाता है — ReplicatedHazelcastAggregationRepository#doStart() और HazelcastDefaultComponent#getOrCreateHzClientInstance() — ताकि Camel द्वारा स्वयं बनाए गए प्रत्येक Hazelcast कॉन्फ़िगरेशन में डिफ़ॉल्ट JavaSerializationFilterConfig (व्हाइटलिस्ट java. / javax. / org.apache.camel., ब्लैकलिस्ट java.net.) शामिल हो। उपयोगकर्ता द्वारा प्रदान किया गया Config, ClientConfig या HazelcastInstance अभी भी अछूता रहता है। यह सलाह CVE-2026-43865 के अपूर्ण-समाधान की अनुवर्ती है।

यदि आप अपग्रेड नहीं कर सकते तो शमन

JavaSerializationFilterConfig वाला एक स्पष्ट Hazelcast कॉन्फ़िगरेशन प्रदान करें, या पहले से निर्मित HazelcastInstance इंजेक्ट करें (उपयोगकर्ता द्वारा प्रदान किया गया कॉन्फ़िगरेशन Camel द्वारा कभी अधिलेखित नहीं किया जाता); JVM-व्यापी -Djdk.serialFilter=... सेट करें; और Hazelcast क्लस्टर प्रमाणीकरण और TLS सक्षम करें।

अस्वीकरण

यह रिपॉज़िटरी शैक्षिक और रक्षात्मक उद्देश्यों के लिए प्रकाशित की गई है: Apache Camel उपयोगकर्ताओं को भेद्यता को समझने में मदद करने, यह सत्यापित करने कि क्या वे प्रभावित हैं, और यह पुष्टि करने के लिए कि अपग्रेड करने से यह हल हो जाती है। पेलोड एक सौम्य मार्कर है जो कोई कोड निष्पादित नहीं करता। इस सामग्री का उपयोग उन सिस्टमों के विरुद्ध न करें जिनके आप स्वामी या संचालक नहीं हैं।

टूल डाउनलोड करें