CVE-2026-49099: Apache Camel Salesforce Header Injection Vulnerability
Apache Camel's Salesforce component has a vulnerability that allows attackers to hijack database queries and operations by injecting malicious headers through HTTP requests. When a route connects an HTTP endpoint to Salesforce, an unauthenticated attacker can override the intended SOQL queries, target objects, or API calls by setting specific HTTP headers. These operations execute with full permissions of the Salesforce integration user, potentially exposing sensitive data or performing unauthorized modifications. The issue stems from Camel's HTTP header filtering not recognizing Salesforce control headers as privileged, allowing them to pass through from untrusted external sources.
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-639, CWE-74
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-07-06 / 2026-07-08
NVD description (verbatim)
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.
2 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability arises from improper header namespace validation in Apache Camel's camel-salesforce producer. The component reads operation parameters (SOQL queries, SOSL searches, SObject names/IDs, Apex URLs, methods, and query parameters) from Exchange message headers with priority over endpoint configuration. Control-header constants in SalesforceEndpointConfig use plain names (sObjectQuery, sObjectSearch, sObjectName, sObjectId, apexUrl, apexMethod, apexQueryParam.*) without the Camel namespace prefix. HttpHeaderFilterStrategy only strips headers in the Camel/camel namespace at HTTP boundaries, allowing these unprefixed headers to pass unfiltered from inbound HTTP requests into the Exchange. Routes bridging HTTP consumers (platform-http, etc.) to salesforce: producers are vulnerable. An attacker can inject arbitrary SOQL/SOSL, redirect CRUD operations, or manipulate Apex REST calls with injected parameters, all executing under the connected Salesforce user's permissions. Affected versions: 4.0.0–4.14.7, 4.15.0–4.18.2, 4.19.0–4.20.x.
Business impact
Organizations using Apache Camel to integrate web applications or APIs with Salesforce face data confidentiality and integrity risks. Attackers can read sensitive Salesforce records (contacts, accounts, opportunities, custom objects) accessible to the integration user without authentication. They can also modify or delete data, create records, or trigger Apex operations if the connected user has broad permissions. Integration users typically have elevated privileges for operational needs, amplifying the blast radius. The attack requires no credentials and can be executed opportunistically by any HTTP client. Reputational and compliance consequences may follow unauthorized data access or modification. Affected deployments should be treated as high-priority for patching.
Affected systems
Apache Camel versions 4.0.0 through 4.14.7, 4.15.0 through 4.18.2, and 4.19.0 through 4.20.x are affected. The three supported LTS/update streams have patches: 4.14.8, 4.18.3, and 4.21.0 respectively. Systems at risk are those deploying camel-salesforce routes that bridge HTTP entry points (REST APIs, webhooks, platform-http) directly or indirectly to Salesforce producers. Routes that explicitly set Salesforce parameters via endpoint configuration alone are not exploitable unless they also pass through an HTTP consumer layer. Deployments with air-gapped or authentication-gated HTTP entry points face lower exposure.
Exploitability
Exploitability is straightforward. An attacker simply crafts HTTP requests to a vulnerable route with headers such as sObjectQuery, sObjectSearch, sObjectName, or apexUrl set to malicious values. No authentication is required if the HTTP consumer is unauthenticated. No user interaction is needed. The attack succeeds instantly because the vulnerability is a design flaw in header parsing, not a race condition or timing dependency. Network accessibility to the HTTP endpoint is the only prerequisite. Public-facing integrations or those on internal networks accessible to untrusted users are at significant risk. The CVSS score of 5.3 reflects low integrity impact (read-only in the base case) and network-accessible entry, though real-world impact can be higher if Salesforce permissions allow writes or sensitive data exists.
Remediation
Immediately upgrade to Apache Camel 4.21.0 (latest), 4.18.3 (4.18.x stream), or 4.14.8 (4.14.x LTS stream). After upgrading, audit any routes that previously used raw header names (sObjectQuery, sObjectSearch, sObjectName, etc.) and migrate them to the corrected CamelSalesforce*-prefixed equivalents (CamelSalesforceSObjectQuery, CamelSalesforceApexUrl, etc.). Endpoint configuration syntax remains unchanged. Organizations unable to patch immediately should implement mitigation: add removeHeaders('sObject*') and removeHeaders('apex*') at the start of vulnerable routes to strip malicious headers before they reach the salesforce: producer, and ensure Salesforce parameters are set from trusted sources only (environment variables, configuration files, authenticated backends). Consider deploying a WAF or API gateway to filter suspicious header patterns. Review Salesforce integration user permissions and apply least-privilege access.
Patch guidance
Patch availability is confirmed for three release streams. For production environments, prioritize upgrading to 4.21.0 if you are on the mainline release track. If you are locked to an LTS or update-stream version, upgrade to 4.14.8 (for 4.14.x) or 4.18.3 (for 4.18.x). Test patches in a non-production environment first, paying particular attention to any routes that read Salesforce parameters from headers; these may require code changes to use the new CamelSalesforce* prefix. Verify that third-party or custom extensions do not depend on the old header names. Roll out patches during a maintenance window to minimize risk of service interruption during migration.
Detection guidance
Monitor HTTP request headers for the presence of sObject*, apex*, or apexQueryParam.* headers in traffic destined for Salesforce producers. Intrusion detection systems can flag requests containing these headers if they are unexpected. Enable audit logging on the Salesforce side to detect unusual SOQL queries, CRUD operations on unexpected objects, or Apex API calls from the integration user. Check Camel route definitions in production for any use of sObject* / apex* header names (as opposed to CamelSalesforce*) in conjunction with HTTP consumers; these are indicators of vulnerable routing patterns. Review Salesforce API audit trails and Camel application logs for anomalous query patterns or permission scope mismatches. Query for any Apex REST redirects or method overrides in audit logs that do not match expected integration behavior.
Why prioritize this
While the CVSS score is moderate (5.3), this vulnerability merits urgent attention because it enables unauthorized data access and modification to a critical business system (Salesforce) with minimal effort and no authentication required. The attack surface is potentially broad (any HTTP route to Salesforce), the impact on confidentiality is real, and the fix is available and straightforward. Organizations relying on Camel-Salesforce integrations for customer data, financial records, or operational processes should treat this as a high-priority patch. The lack of KEV status does not diminish the practical risk; proactive patching is essential before the vulnerability becomes weaponized.
Risk score, explained
The CVSS 3.1 score of 5.3 (MEDIUM) reflects a network-accessible attack vector with no prerequisites (PR:N) and no user interaction required (UI:N). Scope is unchanged (S:U), and confidentiality impact is low (C:L) while integrity and availability are not impacted (I:N/A:N) in the base vector. However, real-world risk is context-dependent: organizations with broad Salesforce integration user permissions, sensitive data in target objects, or public-facing HTTP endpoints connecting to Salesforce should treat this as effectively HIGH-risk. The vector captures read-only exploitation in the baseline; write access depends on Salesforce user role permissions. The absence of ransomware or critical infrastructure linkage justifies the MEDIUM rating, but operationally this is a prompt-to-patch vulnerability.
Frequently asked questions
Can this vulnerability be exploited if our HTTP endpoint is behind authentication?
The vulnerability itself does not require attacker authentication to the HTTP endpoint; however, if your HTTP consumer enforces authentication (OAuth, API key, etc.), that adds a barrier. The vulnerability would then be exploitable only by authenticated users of your API. Regardless, you should still patch, because the risk of insider abuse or compromised credentials becomes relevant.
Do we need to change our Salesforce credentials or integration user if we believe we have been exploited?
Rotate Salesforce credentials and review integration user activity logs immediately. Check for unauthorized SOQL queries, data reads, or Apex calls in Salesforce's API audit trail. If you detect suspicious activity, consider temporarily disabling the integration user until logs are reviewed and the patch is applied. Credential rotation is a precaution; the vulnerability does not compromise credentials directly, but an attacker's actions run as the integration user.
What is the difference between the old header names and the new CamelSalesforce* names?
The old plain names (sObjectQuery, sObjectSearch, sObjectName, apexUrl, etc.) are unfiltered and can be injected via HTTP. The new CamelSalesforce* names (CamelSalesforceSObjectQuery, CamelSalesforceApexUrl, etc.) are in the Camel namespace and are stripped by HttpHeaderFilterStrategy at HTTP boundaries, preventing injection. If you manually set headers in your route logic, update them to the new names. Endpoint configuration (e.g., ?sObjectName=Account in the URI) does not change.
Is this vulnerability active in the wild?
As of the publication date, this CVE is not listed on CISA's Known Exploited Vulnerabilities catalog, meaning there is no confirmed public exploit or active exploitation. However, the vulnerability is relatively straightforward to exploit once disclosed, so proactive patching is strongly recommended rather than waiting for evidence of attacks.
This analysis is based on the official CVE-2026-49099 disclosure and Apache Camel advisory information available as of the publication date. The vulnerability details, affected versions, and patch versions are sourced from vendor advisories and should be verified against the official Apache Camel release notes and security bulletins before deployment. No exploit code or detailed weaponization information is provided. Organizations should conduct their own risk assessment based on their specific Camel version, route configuration, and Salesforce data sensitivity. This page does not constitute security advice; consult with your security and development teams before implementing patches or mitigations. Source: NVD (public-domain), retrieved 2026-08-15. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-46453MEDIUMApache Camel Elasticsearch Header Injection Authorization Bypass
- CVE-2026-46764MEDIUMApache Airflow Audit Log Authorization Bypass – IDOR Vulnerability
- CVE-2026-48206MEDIUMApache Camel JIRA Header Injection – Unauthorized Operations Risk
- CVE-2026-49097MEDIUMApache Camel IRC Header Injection – Message Redirection Vulnerability
- CVE-2026-49098MEDIUMApache Camel Kafka Header Injection Vulnerability (MEDIUM)
- CVE-2026-49296MEDIUMApache Airflow DAG Source Disclosure via Authorization Bypass
- CVE-2026-41084HIGHApache Airflow Task Instances API Authorization Bypass
- CVE-2026-46585HIGHApache Camel Lucene Query Injection and Authorization Bypass