MEDIUM 5.3

CVE-2026-46453: Apache Camel Elasticsearch Header Injection Authorization Bypass

Apache Camel's Elasticsearch REST client component has a critical configuration oversight that allows unauthenticated attackers to hijack Elasticsearch operations when the component is exposed via HTTP. The vulnerability stems from improperly named HTTP headers that bypass Camel's standard security filtering. An attacker can inject headers to read all documents, delete data, or extract sensitive information without any credentials. This affects multiple versions of Apache Camel and requires immediate patching or defensive workarounds.

Source data · NVD / CISA · public domain

CVSS
3.1 · 5.3 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Weaknesses (CWE)
CWE-20, CWE-639
Affected products
1 configuration(s)
Published / Modified
2026-07-06 / 2026-07-07

NVD description (verbatim)

Improper Input Validation, Authorization Bypass Through User-Controlled Key vulnerability in Apache Camel ElasticSearch Rest Client. The camel-elasticsearch-rest-client component reads several Exchange headers to control its behaviour - SEARCH_QUERY (an advanced query body), OPERATION (which Elasticsearch operation to run), INDEX_NAME, INDEX_SETTINGS and ID. The string values of these header constants, defined in ElasticSearchRestClientConstant, are plain unprefixed names ('SEARCH_QUERY', 'OPERATION', 'INDEX_NAME', 'INDEX_SETTINGS', 'ID') rather than the 'Camel'-prefixed names used by every other Camel component (for example CamelSqlQuery, CamelMongoDbCriteria, CamelCqlQuery). Camel's inbound HTTP header filter, HttpHeaderFilterStrategy, blocks only header names that begin with 'Camel' or 'camel'. Because the Elasticsearch header names do not carry that prefix, they pass through the inbound filter unchanged. When a Camel route exposes an HTTP entry point (for example platform-http) in front of an elasticsearch-rest-client producer, an untrusted HTTP client can set these headers directly on its request and override the query and operation that the route author configured: reading every document in the index (SEARCH_QUERY with a match_all query), deleting documents (OPERATION set to Delete together with ID), or exfiltrating selected fields. No credentials are required and the producer reads the headers unconditionally. This issue affects Apache Camel: from 4.3.0 before 4.14.8, from 4.15.0 before 4.18.3, from 4.19.0 before 4.21.0. Users are recommended to upgrade to version 4.21.0, which fixes the issue. If users are on the 4.14.x LTS releases stream, then they are suggested to upgrade to 4.14.8. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.3. The fix renames the camel-elasticsearch-rest-client Exchange header constant string values (ID, SEARCH_QUERY, INDEX_SETTINGS, INDEX_NAME, OPERATION) to carry the Camel prefix (CamelElasticsearchId, CamelElasticsearchSearchQuery, CamelElasticsearchIndexSettings, CamelElasticsearchIndexName, CamelElasticsearchOperation) so that they are blocked by the inbound HttpHeaderFilterStrategy; the Java field names are unchanged. For deployments that cannot upgrade immediately, strip the affected headers from untrusted inbound messages before they reach the producer (for example removeHeader('SEARCH_QUERY'), removeHeader('OPERATION'), removeHeader('INDEX_NAME'), removeHeader('INDEX_SETTINGS') and removeHeader('ID') in front of the elasticsearch-rest-client endpoint), or apply a custom HeaderFilterStrategy that blocks these names.

2 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

The camel-elasticsearch-rest-client component accepts five Exchange headers (SEARCH_QUERY, OPERATION, INDEX_NAME, INDEX_SETTINGS, ID) that control Elasticsearch operation behavior. Unlike all other Camel components, these header constant strings lack the 'Camel' prefix (e.g., they are 'SEARCH_QUERY' rather than 'CamelElasticsearchSearchQuery'). Camel's inbound HttpHeaderFilterStrategy only blocks headers prefixed with 'Camel' or 'camel', allowing unprefixed headers to pass through. When an HTTP endpoint (such as platform-http) feeds a route to an elasticsearch-rest-client producer, untrusted clients can inject these headers to override the route's intended query logic, operation type, and target index. The producer reads all five headers unconditionally and without credential validation, enabling arbitrary Elasticsearch query execution, operation manipulation, and document access.

Business impact

Organizations using Camel to proxy Elasticsearch operations face direct data exposure and integrity risks. An attacker can exfiltrate indexes by issuing match_all queries, delete critical documents, or modify index settings without authentication. Blast radius depends on deployment topology: publicly exposed Camel routes are immediately at risk, while internal services may be vulnerable to lateral movement. Unpatched deployments cannot trust the confidentiality or integrity of data accessed through affected Elasticsearch endpoints. Additionally, incident response and compliance obligations (data breach notification, audit logging) may be triggered if the vulnerability is exploited before detection.

Affected systems

Apache Camel versions 4.3.0 through 4.14.7, 4.15.0 through 4.18.2, and 4.19.0 through 4.20.x are affected. The vulnerability requires both the camel-elasticsearch-rest-client component and an HTTP entry point in the same route (for example, platform-http, jetty, or other HTTP consumers). Only routes that expose Elasticsearch operations via HTTP are at risk; internal point-to-point routes or Elasticsearch clients not exposed to HTTP are unaffected. Check your org's Camel dependency tree and route definitions to identify exposure.

Exploitability

Exploitability is straightforward and requires no authentication. An attacker needs only to craft an HTTP request with malicious header values targeting a Camel route that bridges HTTP and Elasticsearch. Standard HTTP clients or tools (curl, Postman, etc.) suffice; no specialized exploit code is necessary. The attack surface is especially broad in cloud and containerized deployments where Camel routes may be inadvertently exposed. However, the vulnerability is not currently tracked in the CISA Known Exploited Vulnerabilities (KEV) catalog, meaning active in-the-wild exploitation has not been formally documented at this time.

Remediation

Upgrade to patched versions: 4.14.8 (LTS stream), 4.18.3 (4.18.x stream), or 4.21.0 (latest). The fix renames the header constant string values to include the 'Camel' prefix, causing them to be blocked by the standard HttpHeaderFilterStrategy. Existing code using these headers as Java field names will remain compatible (field names unchanged). For immediate mitigation on unpatched systems, strip the five vulnerable headers from inbound requests before they reach the elasticsearch-rest-client endpoint using Camel's removeHeader() processor, or deploy a custom HeaderFilterStrategy that explicitly blocks 'SEARCH_QUERY', 'OPERATION', 'INDEX_NAME', 'INDEX_SETTINGS', and 'ID'.

Patch guidance

Verify your current Camel version against the affected ranges (4.3.0–4.14.7, 4.15.0–4.18.2, 4.19.0–4.20.x). Most users should upgrade to 4.21.0 or later. If you maintain 4.14.x LTS releases, upgrade to 4.14.8 or newer. If you are on the 4.18.x stream, upgrade to 4.18.3 or later. Update your Maven or Gradle dependency declaration and retest any routes that consume both HTTP and Elasticsearch. The patched versions are drop-in replacements; no route logic changes are required unless you have written code that explicitly references the old header constant strings (unlikely in practice, as they are typically set implicitly by Camel internals).

Detection guidance

Monitor HTTP access logs for requests containing the five vulnerable header names ('SEARCH_QUERY', 'OPERATION', 'INDEX_NAME', 'INDEX_SETTINGS', 'ID'). Implement WAF rules that block or flag these headers when transmitted to known Camel Elasticsearch endpoints. Enable Elasticsearch audit logging to detect unexpected match_all queries, delete operations, or index configuration changes originating from the Camel client. Correlate suspicious Elasticsearch operations with HTTP requests received by your Camel routes. In incident response, review Elasticsearch query logs for the publication date (2026-07-06) backward to identify if the vulnerability was exploited before patching.

Why prioritize this

Although assigned a MEDIUM CVSS score (5.3), the practical risk is elevated due to unauthenticated network access, ease of exploitation, and potential for data exfiltration or deletion. Organizations with HTTP-exposed Camel routes to Elasticsearch should prioritize this patch urgently. Mitigations are available for immediate deployment if patching is delayed, reducing but not eliminating risk. The lack of KEV listing suggests controlled disclosure; however, threat actors will likely incorporate this vector once public details circulate.

Risk score, explained

CVSS 3.1 score of 5.3 (MEDIUM) reflects a network-accessible vulnerability requiring no credentials and no user interaction (AV:N, AC:L, PR:N, UI:N). Confidentiality impact is rated Low (C:L) because the attack enables reading Elasticsearch documents but does not automatically expose all data in an organization. Integrity impact is rated None (I:N) in the CVSS model, though in practice the vulnerability does permit deletions and index manipulation—a gap in the scoring. Availability impact is None (A:N). The score does not fully capture the severity of unauthenticated data exfiltration or deletion in production Elasticsearch deployments; security teams should evaluate business context to determine if higher internal priority is warranted.

Frequently asked questions

How do I know if my Camel routes are exposed to this vulnerability?

Your routes are at risk if they contain both an HTTP consumer (platform-http, jetty, servlet, etc.) and a camel-elasticsearch-rest-client producer in the same route or routed together. Review your camel-elasticsearch-rest-client component configuration and trace which HTTP endpoints feed into it. If any untrusted network can reach those HTTP endpoints, the vulnerability is exploitable.

Can I stay on my current Camel version instead of upgrading?

Yes, if you implement immediate mitigations. Strip the five vulnerable headers (SEARCH_QUERY, OPERATION, INDEX_NAME, INDEX_SETTINGS, ID) from inbound HTTP requests before they reach the elasticsearch-rest-client endpoint using removeHeader() processors. Alternatively, deploy a custom HeaderFilterStrategy that explicitly blocks these names. However, patching is the recommended long-term solution.

Will the patch break my existing Camel routes?

No. The patch renames the header constant string values (so they pass the HTTP filter) but keeps the Java field names unchanged. Routes that use camel-elasticsearch-rest-client should work without modification. If you have written custom code that directly references the old string names (e.g., 'SEARCH_QUERY'), you may need to update those references to the new prefixed names (e.g., 'CamelElasticsearchSearchQuery').

What data can an attacker access or modify?

An attacker can issue any Elasticsearch query by injecting a SEARCH_QUERY header, including match_all to read all indexed documents. By setting OPERATION to Delete with an ID, the attacker can remove specific documents. By modifying INDEX_NAME or INDEX_SETTINGS headers, the attacker may access or reconfigure indexes. The scope depends on the Elasticsearch user permissions granted to the Camel client and which indexes it has access to.

This analysis is derived from the official CVE record and Apache Camel advisory dated 2026-07-06. For the most current patch versions, vendor guidance, and detailed remediation steps, consult the Apache Camel security release notes and your organization's software supply chain management processes. SEC.co does not warrant the completeness or accuracy of this summary and recommends independent verification of all patch versions and affected version ranges before deployment. No exploit code or weaponized proof-of-concept is provided. Organizations should conduct internal risk assessment and testing before applying patches to production systems. Source: NVD (public-domain), retrieved 2026-08-15. Analysis generated by SEC.co (claude-haiku-4-5).