
Reproducer for CVE-2026-46457 — Apache Camel camel-nats इनबाउंड हेडर इंजेक्शन (NATS प्रकाशक के माध्यम से Camel नियंत्रण-हेडर इंजेक्शन; CamelHttpUri -> SSRF)
| रनटाइम | निर्देशिका | स्टैक |
|---|
| Camel Spring Boot | camel-spring-boot/ | Spring Boot 3.2.0 + camel-spring-boot 4.18.2 |
| Camel Quarkus | camel-quarkus/ | Quarkus 3.36.0 + Camel Quarkus 3.36.0 (बंडल Camel 4.20.0) |
दोनों प्रभावित संस्करण हैं (4.14.8 / 4.18.3 / 4.21.0 में ठीक किए गए), और दोनों समान दोष प्रदर्शित करते हैं:
NatsConfiguration headerFilterStrategy को बिना किसी इनबाउंड नियम के एक सादे new DefaultHeaderFilterStrategy() पर डिफ़ॉल्ट करता है,
इसलिए NatsConsumer हर इनबाउंड NATS संदेश हेडर को Exchange पर कॉपी करता है — जिसमें
CamelHttpUri भी शामिल है। camel-http प्रोड्यूसर उस हेडर को अपने अनुरोध URI के रूप में मानता है, इसलिए कोई भी व्यक्ति जो उपभोग किए गए
विषय पर प्रकाशित कर सकता है, आउटबाउंड अनुरोध को अपनी पसंद के लक्ष्य पर पुनर्निर्देशित कर सकता है (SSRF, CWE-20)। वही तकनीक
किसी भी हेडर-नियंत्रित प्रोड्यूसर (CamelFileName, CamelSqlQuery, ...) तक पहुँचती है।
प्रत्येक उपनिर्देशिका एक स्व-निहित प्रोजेक्ट है (साथ ही इसके docker-compose.yml द्वारा शुरू किया गया एक NATS ब्रोकर) जिसका
अपना Dockerfile और README है। संक्षेप में, दोनों में से किसी के लिए:
cd camel-spring-boot # या: cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down
| गुण | मान |
|---|---|
| घटक | camel-nats |
| प्रभावित क्लास | org.apache.camel.component.nats.NatsConfiguration (डिफ़ॉल्ट DefaultHeaderFilterStrategy) / NatsConsumer |
| CWE | CWE-20: अनुचित इनपुट सत्यापन |
| प्रभाव | एक विषय प्रकाशक Camel नियंत्रण हेडर इंजेक्ट करता है → डाउनस्ट्रीम प्रोड्यूसर को नियंत्रित करता है (यहाँ SSRF दिखाया गया है) |
| प्रभावित संस्करण | 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 |
| JIRA | CAMEL-23515 |
ये रिप्रोड्यूसर केवल सुरक्षा अनुसंधान और अधिकृत परीक्षण के लिए प्रदान किए गए हैं, एक सार्वजनिक रूप से खुलासा और ठीक किए गए भेद्यता के लिए। स्पष्ट अनुमति के बिना उन्हें सिस्टम के विरुद्ध उपयोग न करें।