CVE-2026-49099
Apache Camel Salesforce:非 Camel 前缀的 Exchange 头常量绕过 HTTP 头过滤器,允许 HTTP 客户端影响内部行为
- 已发布
- 2026年7月6日
- 已更新
- 2026年7月7日
- 分配 CNA
- apache
- 观察到的证据
- 2026年8月6日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N低 · 未来 30 天
- 百分位
- 43.0%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
下游组件输出中特殊元素的中和不当('注入')、通过用户可控密钥绕过授权——Apache Camel Salesforce 组件中的漏洞。camel-salesforce 生产者从其 Exchange 消息头中解析操作参数——SOQL 查询、SOSL 搜索、目标 SObject 名称和 ID、Apex REST URL 和方法,以及 Apex 查询参数——读取消息头时优先于端点上配置的值(AbstractSalesforceProcessor.getParameter() 先读取消息头,仅在回退时使用端点配置)。SalesforceEndpointConfig 中的控制头常量(例如 SOBJECT_QUERY = sObjectQuery、SOBJECT_SEARCH = sObjectSearch、SOBJECT_NAME = sObjectName、SOBJECT_ID = sObjectId、APEX_URL = apexUrl、APEX_METHOD = apexMethod,以及 apexQueryParam. 前缀)使用了不带 Camel 前缀的普通值。由于这些名称不以 Camel / camel 前缀开头,HttpHeaderFilterStrategy——它仅在 HTTP 边界上阻止 Camel 消息头命名空间——允许它们从入站 HTTP 请求直接传入 Exchange。在将 HTTP 消费者(例如 platform-http)桥接到 salesforce: 生产者的路由中,任何 HTTP 客户端因此都可以设置这些消息头并覆盖路由的预期意图——提供自己的 SOQL 查询或 SOSL 搜索以读取所连接的 Salesforce 用户可访问的任何 SObject 中的数据,覆盖 CRUD 操作的目标 SObject 名称和 ID,或将 Apex REST 调用重定向到不同的端点和 HTTP 方法(包括破坏性方法)并注入查询参数。所有这些操作均以所连接的 Salesforce(集成)用户的完整权限运行,该权限通常较为宽泛。当桥接消费者未经过身份验证时,攻击者无需任何凭据。此问题影响 Apache Camel:从 4.0.0 到 4.14.8 之前,从 4.15.0 到 4.18.3 之前,从 4.19.0 到 4.21.0 之前。建议用户升级到修复此问题的 4.21.0 版本。如果用户使用 4.14.x LTS 发布流,则建议升级到 4.14.8。如果用户使用 4.18.x 发布流,则建议升级到 4.18.3。升级后,通过原始消息头名称设置 Salesforce 操作参数的路由必须使用 CamelSalesforce* 名称(例如 CamelSalesforceSObjectQuery 和 CamelSalesforceApexUrl)替代旧的 sObject* / apex* 值;端点选项的拼写保持不变。对于无法立即升级的部署,请在 salesforce: 生产者之前从任何不受信任的入站流量中剥离 Salesforce 控制消息头(例如在路由开头使用 removeHeaders('sObject*') 和 removeHeaders('apex*')),并从可信来源设置查询、SObject 和 Apex 参数。
来源
1针对 CVE-2026-49099(Apache Camel camel-salesforce)的 PoC 复现器:不带 Camel 前缀的 sObjectQuery 标头可绕过 HTTP 标头过滤器,并覆盖生产者所配置的 SOQL(SOQL 注入 / 访问控制失效)。已在 4.14.8/4.18.3/4.21.0 中修复。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。