Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-43865 — CVE-2026-43865 के लिए पुनरुत्पादक — Apache Camel camel-hazelcast डिफ़ॉल्ट-कॉन्फ़िगर्ड इंस्टेंस असुरक्षित Java डिसीरियलाइज़ेशन (RCE) | Kitploit
उपकरण/GitHubGitHub/oscerd/cve-2026-43865
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षाबाइनरी शोषणलैब और अभ्यास
GitHuboscerd/cve-2026-43865

CVE-2026-43865

CVE-2026-43865 के लिए पुनरुत्पादक — Apache Camel camel-hazelcast डिफ़ॉल्ट-कॉन्फ़िगर्ड इंस्टेंस असुरक्षित Java डिसीरियलाइज़ेशन (RCE)

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

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

सभी देखें →

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

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

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

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

camel-hazelcast डिफ़ॉल्ट-इंस्टेंस असुरक्षित डीसीरियलाइज़ेशन रिप्रोड्यूसर (CVE-2026-43865)

यह प्रोजेक्ट Apache Camel के camel-hazelcast घटक में Java डीसीरियलाइज़ेशन भेद्यता प्रदर्शित करता है, जिसे CVE-2026-43865 के रूप में ट्रैक किया जाता है। जब Camel स्वयं Hazelcast Config बनाता है — अर्थात जब कोई उपयोगकर्ता-आपूर्ति HazelcastInstance, hazelcastConfigUri, या संदर्भित Config बीन प्रदान नहीं की जाती — तो यह कोई Java डीसीरियलाइज़ेशन फ़िल्टर लागू नहीं करता (न तो Hazelcast का JavaSerializationFilterConfig और न ही Camel-पक्षीय ObjectInputFilter)। Hazelcast क्लस्टर प्रोटोकॉल पर आने वाली वस्तुएँ इसलिए Hazelcast की सीरियलाइज़ेशन परत (ObjectInputStream.readObject) के अंदर बिना किसी क्लास प्रतिबंध के डीसीरियलाइज़ की जाती हैं। एक हमलावर जो क्लस्टर में शामिल हो सकता है या उस तक पहुँच सकता है, एक निर्मित सीरियलाइज़्ड ऑब्जेक्ट प्रकाशित कर सकता है जो हर Camel नोड पर डीसीरियलाइज़ होता है — रिमोट कोड एक्ज़ीक्यूशन, जो डिफ़ॉल्ट रूप से मौजूद है और किसी ऑप्ट-इन एंडपॉइंट कॉन्फ़िगरेशन की आवश्यकता नहीं रखता।

परामर्श: https://camel.apache.org/security/CVE-2026-43865.html

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

यह Hazelcast-लाइब्रेरी परामर्श CVE-2016-10750 / CVE-2022-36418 (जो Hazelcast के अपने कोड से संबंधित हैं) से भिन्न है। यहाँ दोष Camel का है जो Hazelcast द्वारा प्रदान की गई डीसीरियलाइज़ेशन सुरक्षा को लागू नहीं करता।

तकनीकी विवरण

जब कोई इंस्टेंस/कॉन्फ़िग आपूर्ति नहीं की जाती, HazelcastDefaultComponent स्टॉक कॉन्फ़िग से इंस्टेंस बनाता है और कोई सीरियलाइज़ेशन फ़िल्टर सेट नहीं करता:

root@kitploit:~
// HazelcastDefaultComponent - प्रभावित 4.18.2
if (hazelcastInstance == null && config == null) {
    config = new XmlConfigBuilder().build();
    config.getProperties().setProperty("hazelcast.version.check.enabled", "false");
    config.getProperties().setProperty("hazelcast.phone.home.enabled", "false");
    hzInstance = Hazelcast.newHazelcastInstance(config);   // कोई JavaSerializationFilterConfig नहीं
}

सुधार Camel द्वारा स्वयं बनाए गए इंस्टेंस पर एक डिफ़ॉल्ट फ़िल्टर (व्हाइटलिस्ट java./javax./org.apache.camel., ब्लैकलिस्ट java.net.) डालता है, जबकि उपयोगकर्ता-आपूर्ति Config/HazelcastInstance को अछूता छोड़ देता है:

root@kitploit:~
// सुधारित 4.18.3 / 4.21.0
config.getProperties().setProperty("hazelcast.phone.home.enabled", "false");
HazelcastSerializationFilterHelper.applyDefault(config);   // <-- जोड़ा गया
hzInstance = Hazelcast.newHazelcastInstance(config);

कोई भी संरचना जो डीसीरियलाइज़ की गई वस्तु को Camel को सौंपती है, इसे ट्रिगर करती है। यह PoC एक queue कंज़्यूमर का उपयोग Poll मोड में करता है, जहाँ IQueue.poll() Camel द्वारा रूट करने से पहले हेड तत्व को डीसीरियलाइज़ करता है:

root@kitploit:~
// HazelcastQueueConsumer (Poll मोड) - प्रभावित
final Object body = queue.poll(config.getPollingTimeout(), TimeUnit.MILLISECONDS);  // readObject, कोई फ़िल्टर नहीं
exchange.getIn().setBody(body);

पीड़ित रूट

root@kitploit:~
from("hazelcast-queue:cve?queueConsumerMode=Poll")   // Camel डिफ़ॉल्ट (अनफ़िल्टर्ड) इंस्टेंस बनाता है
    .log("Consumed: ${body.class.name}");

रिपॉज़िटरी लेआउट — हमलावर बनाम पीड़ित

पीड़ित Camel नोड (एक Hazelcast सदस्य) है। हमलावर कोई भी पक्ष है जो क्लस्टर तक पहुँच सकता है। यह स्व-निहित PoC एक Hazelcast क्लाइंट (हमलावर) चलाता है जो उसी सिंगल-सदस्य क्लस्टर (127.0.0.1:5701 पर dev) में शामिल होता है और पीड़ित द्वारा उपभोग की जाने वाली कतार में एक गैजेट प्रस्तुत करता है।

root@kitploit:~
CVE-2026-43865/
├── pom.xml                 # camel-hazelcast 4.18.2 + commons-collections 3.2.1 (गैजेट)
├── Dockerfile              # ऐप चलाता है (गैजेट निर्माण के लिए --add-opens; लूपबैक क्लस्टर पता)
├── docker-compose.yml
├── README.md
└── src/main/
    ├── java/com/example/
    │   ├── Application.java
    │   ├── VictimRoute.java        # पीड़ित: hazelcast-queue कंज़्यूमर (डिफ़ॉल्ट इंस्टेंस)
    │   ├── Gadget.java             # CommonsCollections6 गैजेट, Hazelcast डीसीरियलाइज़ेशन के दौरान चालू होता है
    │   └── ExploitController.java  # हमलावर: Hazelcast क्लाइंट कतार को गैजेट प्रस्तुत करता है
    └── resources/
        └── application.properties

वास्तविक हमले में सीरियलाइज़्ड बाइट्स हमलावर के अपने Hazelcast क्लाइंट/सदस्य द्वारा उत्पन्न होते हैं; केवल पीड़ित को अपने क्लासपाथ पर गैजेट चेन की आवश्यकता होती है। यह PoC गैजेट को इन-प्रोसेस बनाता है, यही कारण है कि JVM --add-opens java.base/java.util=ALL-UNNAMED के साथ चलता है — यह गैजेट-निर्माण का विवरण है, भेद्यता से असंबंधित।

आवश्यक शर्तें

  • Java 17+ और Maven 3.8+
  • Docker (रिप्रोड्यूसर चलाने के लिए)

प्रजनन चरण

चरण 1: कंटेनर बनाएँ और प्रारंभ करें

root@kitploit:~
mvn clean package -DskipTests
docker compose up -d --build

चरण 2: डीसीरियलाइज़ेशन (RCE) ट्रिगर करें

root@kitploit:~
curl -s http://localhost:8080/exploit/attack
# -> क्लस्टर क्लाइंट के रूप में hazelcast कतार 'cve' को गैजेट प्रस्तुत किया गया।
#    Camel नोड का queue.poll() इसे Hazelcast के माध्यम से डीसीरियलाइज़ करता है (कोई फ़िल्टर नहीं)।
#
#    >>> RCE प्रमाण — /tmp/pwned मौजूद है: true

चरण 3: सत्यापित करें

root@kitploit:~
docker exec cve-2026-43865 ls -la /tmp/pwned

सफ़ाई

root@kitploit:~
docker compose down

हमले के वेक्टर

कोई भी Camel रूट जो hazelcast कंज़्यूमर (hazelcast-topic, hazelcast-queue, hazelcast-seda, hazelcast-map, hazelcast-multimap, hazelcast-replicatedmap, hazelcast-list, hazelcast-set), या HazelcastAggregationRepository / HazelcastIdempotentRepository का उपयोग करता है, जब भी प्रबंधित इंस्टेंस Camel के डिफ़ॉल्ट कॉन्फ़िगरेशन से बनाया जाता है और एक हमलावर क्लस्टर तक पहुँच सकता है।

शोषण की शर्तें

  1. एक camel-hazelcast कंज़्यूमर/रिपॉज़िटरी जो Camel द्वारा अपने डिफ़ॉल्ट कॉन्फ़िग से बनाए गए इंस्टेंस का उपयोग करता है (कोई उपयोगकर्ता-आपूर्ति HazelcastInstance / hazelcastConfigUri / Config बीन नहीं)।
  2. हमलावर Hazelcast क्लस्टर में शामिल हो सकता है या उस तक पहुँच सकता है (डिफ़ॉल्ट रूप से कोई प्रमाणीकरण/TLS नहीं)।
  3. क्लासपाथ पर एक गैजेट लाइब्रेरी (यहाँ commons-collections:3.2.1)।

अनुशंसित समाधान

4.14.8 / 4.18.3 / 4.21.0 (CAMEL-23414) में अपग्रेड करें, जो Camel द्वारा अपने स्वयं के डिफ़ॉल्ट कॉन्फ़िगरेशन से बनाए गए इंस्टेंस पर एक डिफ़ॉल्ट Hazelcast JavaSerializationFilterConfig लागू करता है।

शमन

अपग्रेड करने तक:

  1. Hazelcast इंस्टेंस पर एक डीसीरियलाइज़ेशन फ़िल्टर कॉन्फ़िगर करें (JavaSerializationFilterConfig, या JVM-व्यापी -Djdk.serialFilter=!java.net.**;java.**;javax.**;org.apache.camel.**;!*)।
  2. क्लस्टर तक पहुँच को प्रतिबंधित करने के लिए Hazelcast क्लस्टर प्रमाणीकरण और TLS सक्षम करें।
  3. क्लासपाथ से गैजेट लाइब्रेरी हटाएँ (commons-collections 3.x और समान को अपग्रेड/हटाएँ)।

अस्वीकरण

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

टूल डाउनलोड करें
गुणमान
घटकcamel-hazelcast (कोई भी कंज़्यूमर + HazelcastAggregationRepository / HazelcastIdempotentRepository)
प्रभावित क्लासorg.apache.camel.component.hazelcast.HazelcastDefaultComponent (डिफ़ॉल्ट-कॉन्फ़िग इंस्टेंस निर्माण)
CWECWE-502: अविश्वसनीय डेटा का डीसीरियलाइज़ेशन
प्रभावक्लस्टर में हर Camel नोड पर रिमोट कोड एक्ज़ीक्यूशन (RCE)
ट्रिगरएक हेज़लकास्ट कंज़्यूमर/रिपॉज़िटरी जिसका प्रबंधित इंस्टेंस Camel के डिफ़ॉल्ट कॉन्फ़िगरेशन से बनाया गया है
प्रभावित संस्करण4.0.0 से पहले 4.14.8 तक, 4.15.0 से पहले 4.18.3 तक, 4.19.0 से पहले 4.21.0 तक
सुधारित संस्करण4.14.8, 4.18.3, 4.21.0
JIRACAMEL-23414
रिपोर्टरgaorenyusi