Authorization bypass in Apache Camel Salesforce
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- Low · None · None
- Fix status
- Partial Red Hat: 3 without a fix
Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-639.
Summary
Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection'), Authorization Bypass Through User-Controlled Key vulnerability in Apache Camel Salesforce Component. The camel-salesforce producer resolves its operation parameters - the SOQL query, the SOSL search, the target SObject name and id, the Apex REST URL and method, and the Apex query parameters - from Exchange message headers, reading the header in preference to the value configured on the endpoint (AbstractSalesforceProcessor.getParameter() reads the header first and uses the endpoint configuration only as a fallback). The control-header constants in SalesforceEndpointConfig (for example SOBJECT_QUERY = sObjectQuery, SOBJECT_SEARCH = sObjectSearch, SOBJECT_NAME = sObjectName, SOBJECT_ID = sObjectId, APEX_URL = apexUrl, APEX_METHOD = apexMethod, and the apexQueryParam. prefix) used plain, non-Camel-prefixed values. 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 salesforce: producer, any HTTP client could therefore set these headers and override what the route intended - supplying its own SOQL query or SOSL search to read data from any SObject the connected Salesforce user can access, overriding the target SObject name and id for CRUD operations, or redirecting an Apex REST call to a different endpoint and HTTP method (including destructive methods) with injected query parameters. All such operations run with the full permissions of the Salesforce connected (integration) user, which is typically broad. No credentials are required from the attacker 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 Salesforce operation parameters via the raw header names must use the CamelSalesforce* names (for example CamelSalesforceSObjectQuery and CamelSalesforceApexUrl) instead of the old sObject* / apex* values; the endpoint-option spelling is unchanged. For deployments that cannot upgrade immediately, strip the Salesforce control headers from any untrusted ingress before the salesforce: producer (for example removeHeaders('sObject*') and removeHeaders('apex*') at the start of the route), and set the query, SObject and Apex parameters from a trusted source.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Apache | Apache Camel Salesforce | 4.0.0 to before 4.14.8; 4.15.0 to before 4.18.3; 4.19.0 to before 4.21.0 | 4.14.8, 4.18.3, 4.21.0 | Patch available | CNA |
| — | org.apache.camel:camel-salesforce (Maven) | 4.0.0 to before 4.14.8 | 4.14.8 | Patch available | GHSA-gcc7-c8mp-34qx |
| — | org.apache.camel:camel-salesforce (Maven) | 4.15.0 to before 4.18.3 | 4.18.3 | Patch available | GHSA-gcc7-c8mp-34qx |
| — | org.apache.camel:camel-salesforce (Maven) | 4.19.0 to before 4.21.0 | 4.21.0 | Patch available | GHSA-gcc7-c8mp-34qx |
- Apache Camel Salesforce VendorApache Affected 4.0.0 to before 4.14.8; 4.15.0 to before 4.18.3; 4.19.0 to before 4.21.0 Fixed in 4.14.8, 4.18.3, 4.21.0 Patch available CNA
- org.apache.camel:camel-salesforce (Maven) Vendor— Affected 4.0.0 to before 4.14.8 Fixed in 4.14.8 Patch available GHSA-gcc7-c8mp-34qx
- org.apache.camel:camel-salesforce (Maven) Vendor— Affected 4.15.0 to before 4.18.3 Fixed in 4.18.3 Patch available GHSA-gcc7-c8mp-34qx
- org.apache.camel:camel-salesforce (Maven) Vendor— Affected 4.19.0 to before 4.21.0 Fixed in 4.21.0 Patch available GHSA-gcc7-c8mp-34qx
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:apache:camel:*:*:*:*:*:*:*:* | 4.0.0 to before 4.14.8; 4.15.0 to before 4.18.3; 4.19.0 to before 4.21.0 | Vulnerable | Apache |
- cpe:2.3:a:apache:camel:*:*:*:*:*:*:*:* Versions 4.0.0 to before 4.14.8; 4.15.0 to before 4.18.3; 4.19.0 to before 4.21.0 Vulnerable ·Apache
Remediation
- Fix · CNA Apache Camel Salesforce (Apache Software Foundation) Fixed in 4.14.8, 4.18.3, 4.21.0
- Fix · GHSA-gcc7-c8mp-34qx org.apache.camel:camel-salesforce (Maven) Fixed in 4.14.8 Advisory →
- Fix · GHSA-gcc7-c8mp-34qx org.apache.camel:camel-salesforce (Maven) Fixed in 4.18.3 Advisory →
- Fix · GHSA-gcc7-c8mp-34qx org.apache.camel:camel-salesforce (Maven) Fixed in 4.21.0 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat JBoss Enterprise Application Platform Expansion Pack | Affected | No fix yet: Fix deferred |
| Red Hat build of Apache Camel 4 for Quarkus 3 | Affected | No fix yet: Fix deferred |
| Red Hat build of Apache Camel for Spring Boot 4 | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-02 Threatist record created from CVE-2026-49099
- 2026-10-03 Alias added: GHSA-gcc7-c8mp-34qx
References
Advisory 3
Other 11
- https://github.com/apache/camel/pull/23887
- https://github.com/apache/camel/pull/23890
- https://github.com/apache/camel/pull/23894
- https://github.com/apache/camel/commit/3445c57e147da12ccfdde066c06ec5492d8c262b
- https://github.com/apache/camel/commit/48880af9d401e8c03473a14bd652ce012b66157b
- https://github.com/apache/camel/commit/578eb2a0a089c94f507853a737d7c46365f0272e
- https://github.com/apache/camel
- https://github.com/apache/camel/releases/tag/camel-4.14.8
- https://github.com/apache/camel/releases/tag/camel-4.18.3
- https://github.com/apache/camel/releases/tag/camel-4.21.0
- https://issues.apache.org/jira/browse/CAMEL-23716
More Apache Camel vulnerabilities
- TI-2026-76322 Unsafe deserialization in Apache Camel camel-hazelcast CVSS 4.0CRITICAL 10.0
- TI-2026-18973 Apache Camel: Camel-Keycloak: Cross-Realm Token Acceptance Bypass in KeycloakSecurityPolicy CVSS 3.1CRITICAL 9.1
- TI-2026-76339 Path traversal in Apache Camel azure-files component CVSS 3.1CRITICAL 9.1
- TI-2026-76330 Path traversal in Apache Camel FTP consumer escapes polled directory CVSS 3.1CRITICAL 9.1
- TI-2025-20435 Apache Camel: Camel Message Header Injection via Improper Filtering CVSS 3.1MEDIUM 5.6
- TI-2026-34899 Apache Camel: Camel-CXF Message Header Injection via Missing Inbound Filtering CVSS 3.1CRITICAL 9.8
Sources
- CVE-2026-49099 · CVE Program
- CVE-2026-49099 · NVD
- FIRST EPSS
- GHSA-gcc7-c8mp-34qx · GitHub Advisory Database · CC BY 4.0
- CVE-2026-49099 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences