
CVE-2026-85260 के लिए रन करने योग्य Spring Boot और Quarkus रिप्रोड्यूसर, जो प्रभावित संस्करणों में camel-mllp PHI लॉगिंग और फ़िक्स के बाद उसके दमन को प्रदर्शित करता है।
Apache Camel की उस भेद्यता के लिए चलाने योग्य प्रूफ-ऑफ-कॉन्सेप्ट रिप्रोड्यूसर, जिसमें camel-mllp कंपोनेंट का logPhi
विकल्प डिफ़ॉल्ट रूप से true था, इसलिए जिस डिप्लॉयमेंट ने कुछ भी नहीं किया, उसने HL7 पेलोड सामग्री — रोगी डेटा — को
एप्लिकेशन लॉग में आउट-ऑफ-द-बॉक्स लिख दिया। (दो और कोड पथ सेटिंग की परवाह किए बिना पेलोड सामग्री लॉग करते थे, इसलिए जिस
ऑपरेटर ने logPhi बंद भी कर दिया था, वह भी उन पथों पर उजागर रहता था।) MLLP HL7 क्लिनिकल संदेश ले जाता है, इसलिए संबंधित
सामग्री PHI है, और यह सामान्य एप्लिकेशन लॉग तक पहुँच गई, जो क्लिनिकल रिकॉर्ड के बजाय लॉग पर लागू होने वाले किसी भी
रिटेंशन, एग्रीगेशन और एक्सेस के अधीन है।
| रनटाइम | डायरेक्टरी | स्टैक |
|---|---|---|
| Camel Spring Boot | camel-spring-boot/ | Spring Boot 3.5.13 + camel-mllp 4.22.0 (प्रभावित; 4.22.1 में ठीक किया गया) |
| Camel Quarkus | camel-quarkus/ | Quarkus 3.29.0 + camel-quarkus-mllp (Camel 4.15.0, प्रभावित; नियंत्रण ठीक किया गया CQ 3.40.0 / Camel 4.22.1) |
दोनों मॉड्यूल प्रभावित और ठीक किए गए व्यवहार को प्रदर्शित करते हैं।
एक MLLP कंज्यूमर (TCP सर्वर) HL7 संदेश प्राप्त करता है। कंपोनेंट प्राप्त पेलोड को DEBUG पर लॉग करता है (इसलिए MLLP
लॉगर्स को DEBUG पर बढ़ाया जाता है, और लॉग mllp-phi.log में लिखे जाते हैं)। ड्राइवर एक HL7 प्रेषक के रूप में कार्य
करता है: यह एक HL7 संदेश को फ़्रेम करता है जिसके PID (रोगी-नाम) फ़ील्ड में MLLP एनवेलप में एक सौम्य मार्कर
PHI-MARKER-DOE-JANE-5E1F होता है और उसे भेजता है, फिर लॉग फ़ाइल पढ़ता है।
एक ही कनेक्शन पर जानबूझकर दो संदेश भेजे जाते हैं: कंज्यूमर पहले को अपने वैलिडेशन रीड से संसाधित करता है, और दूसरे को अपने रिसीव लूप के माध्यम से — यही वह पथ है जो प्राप्त पेलोड को लॉग करता है।
logPhi डिफ़ॉल्ट रूप से true है, इसलिए लॉग में Received 170 byte message MSH|…PID|…| PHI-MARKER-DOE-JANE-5E1F^Jane… होता है — रोगी डेटा शब्दशः।logPhi डिफ़ॉल्ट रूप से false है, इसलिए लॉग इसके बजाय <PHI suppressed> दिखाता है।# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack # affected: PHI in the log; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85260-mllp-phi-logging-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack # fixed: <PHI suppressed>; >>> 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.15.0): PHI in the log
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: <PHI suppressed>
| गुण | मान |
|---|---|
| घटक | camel-mllp (logPhi डिफ़ॉल्ट; TcpSocketConsumerRunnable, MllpSocketBuffer, Hl7Util) |
| CWE | CWE-532 (लॉग फ़ाइल में संवेदनशील जानकारी का प्रवेश) |
| गंभीरता | मध्यम |
| आक्रमण वेक्टर | डिफ़ॉल्ट सेटिंग्स और DEBUG लॉगिंग के साथ चल रहे MLLP कंज़्यूमर द्वारा प्राप्त HL7 संदेश |
| प्रभाव | संरक्षित स्वास्थ्य जानकारी (रोगी डेटा) सामान्य एप्लिकेशन लॉग में लिखी गई |
| प्रभावित संस्करण | 4.0.0 से 4.18.5 से पहले तक, 4.19.0 से 4.22.1 से पहले तक |
| ठीक किए गए संस्करण | 4.18.5, 4.22.1, 4.23.0 |
| JIRA | CAMEL-24454 |
| श्रेय | Claude Security Scan Tool |
सलाह: https://camel.apache.org/security/CVE-2026-85260.html
समाधान MllpComponent में logPhi डिफ़ॉल्ट को true से false में बदलता है,
और पेलोड लॉगिंग को नए convertToLoggableString/toLoggableStringAndReset हेल्पर्स
(और Hl7Util PHI_SUPPRESSED_REPLACEMENT_VALUE = "<PHI suppressed>") के माध्यम से रूट करता है, ताकि जो पथ पहले
फ़्लैग को अनदेखा करते थे अब उसका पालन करें। यह एक बदला हुआ डिफ़ॉल्ट है: जो डिप्लॉयमेंट पेलोड लॉगिंग पर निर्भर था, उसे अब
logPhi=true स्पष्ट रूप से सेट करना होगा।
logPhi=false सेट करें, और ध्यान रखें कि समाधान लागू होने तक दो पथ पेलोड सामग्री को लॉग करना जारी रखेंगे —
तदनुसार लॉग तक पहुँच प्रतिबंधित करें।
यह रिपॉज़िटरी शैक्षिक और रक्षात्मक उद्देश्यों के लिए प्रकाशित की गई है: Apache Camel उपयोगकर्ताओं को भेद्यता को समझने, यह सत्यापित करने कि क्या वे प्रभावित हैं, और यह पुष्टि करने में मदद करने के लिए कि अपग्रेड करने से यह हल हो जाता है। HL7 संदेश और उसका "रोगी" डेटा निष्क्रिय, काल्पनिक स्थानीय फ़िक्स्चर हैं। इस सामग्री का उपयोग उन सिस्टम के विरुद्ध न करें जिनके आप स्वामी या संचालक नहीं हैं।