oss-sec mailing list archives
CVE-2026-48203: Apache Camel: Camel-Solr: The SolrParam. and SolrField. Exchange header prefixes used non-Camel-prefixed names that bypass the HTTP header filter, allowing an HTTP client to inject Solr query parameters (server-side request forgery) and document fields
From: Andrea Cosentino <acosentino () apache org>
Date: Sun, 05 Jul 2026 11:55:06 +0000
Severity: moderate
Affected versions:
- Apache Camel (org.apache.camel:camel-solr) 4.0.0 before 4.14.8
- Apache Camel (org.apache.camel:camel-solr) 4.15.0 before 4.18.3
- Apache Camel (org.apache.camel:camel-solr) 4.19.0 before 4.21.0
Description:
Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection'), Improper Input
Validation, Server-Side Request Forgery (SSRF) vulnerability in Apache Camel Solr component.
The camel-solr producer copies Exchange message headers whose names begin with the SolrParam. prefix into the
parameters of the Solr request, and headers whose names begin with the SolrField. prefix into the fields of the indexed
Solr document. The prefix constants (SolrConstants.HEADER_PARAM_PREFIX / HEADER_FIELD_PREFIX) were the plain strings
SolrParam. / SolrField.. Because these names do not start with the Camel / camel prefix, HttpHeaderFilterStrategy -
which blocks only the Camel header namespace on the HTTP boundary - let them pass from an inbound HTTP request straight
into the Exchange. In a route that bridges an HTTP consumer (for example platform-http) into a solr: producer, any HTTP
client could therefore set SolrParam.* headers to inject arbitrary Solr request parameters - including shards or
stream.url, which cause the Solr server to issue server-side requests to an attacker-chosen URL (server-side request
forgery, for example to an internal service or a cloud metadata endpoint), or qt to reach administrative request
handlers - and set SolrField.* headers to inject arbitrary fields into indexed documents. No credentials are required
when the bridging consumer is unauthenticated.
This issue affects Apache Camel: from 4.0.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. After upgrading, routes that set Solr parameters or fields via the raw header prefixes
must use CamelSolrParam. / CamelSolrField. instead of SolrParam. / SolrField.. For deployments that cannot upgrade
immediately, strip the SolrParam.* and SolrField.* headers from any untrusted ingress before the solr: producer, and
set the required Solr parameters and fields from a trusted source in the route.
Credit:
Yu Bao from Paypal (finder)
Andrea Cosentino (remediation developer)
References:
http://camel.apache.org/security/CVE-2026-48203.html
https://camel.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-48203
Current thread:
- CVE-2026-48203: Apache Camel: Camel-Solr: The SolrParam. and SolrField. Exchange header prefixes used non-Camel-prefixed names that bypass the HTTP header filter, allowing an HTTP client to inject Solr query parameters (server-side request forgery) and document fields Andrea Cosentino (Jul 05)
