CVE-2026-49099
Apache Camel Salesforce: Constantes de cabeçalho de Exchange sem prefixo Camel contornam o filtro de cabeçalhos HTTP, permitindo que um cliente HTTP influencie o comportamento interno
- Publicado
- 6 de jul. de 2026
- Atualizado
- 7 de jul. de 2026
- Atribuindo CNA
- apache
- Evidência observada
- 6 de ago. de 2026
CVSS primário
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:NBaixo · próximos 30 dias
- Percentil
- 43,0%
- Data do modelo
- 21 de set. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
Neutralização Incorreta de Elementos Especiais em Saída Usada por um Componente a Jusante ('Injeção'), Bypass de Autorização Através de Chave Controlada pelo Usuário vulnerabilidade no Componente Salesforce do Apache Camel. O produtor camel-salesforce resolve seus parâmetros de operação - a consulta SOQL, a pesquisa SOSL, o nome e id do SObject alvo, a URL e o método Apex REST, e os parâmetros de consulta Apex - a partir dos cabeçalhos das mensagens Exchange, lendo o cabeçalho em preferência ao valor configurado no endpoint (AbstractSalesforceProcessor.getParameter() lê o cabeçalho primeiro e usa a configuração do endpoint apenas como fallback). As constantes de cabeçalho de controle em SalesforceEndpointConfig (por exemplo SOBJECT_QUERY = sObjectQuery, SOBJECT_SEARCH = sObjectSearch, SOBJECT_NAME = sObjectName, SOBJECT_ID = sObjectId, APEX_URL = apexUrl, APEX_METHOD = apexMethod, e o prefixo apexQueryParam.) usavam valores simples, sem prefixo Camel. Como esses nomes não começam com o prefixo Camel / camel, o HttpHeaderFilterStrategy - que bloqueia apenas o namespace de cabeçalho Camel na fronteira HTTP - permitiu que eles passassem de uma solicitação HTTP de entrada diretamente para o Exchange. Em uma rota que faz a ponte de um consumidor HTTP (por exemplo platform-http) para um produtor salesforce:, qualquer cliente HTTP poderia, portanto, definir esses cabeçalhos e substituir o que a rota pretendia - fornecendo sua própria consulta SOQL ou pesquisa SOSL para ler dados de qualquer SObject que o usuário Salesforce conectado possa acessar, substituindo o nome e id do SObject alvo para operações CRUD, ou redirecionando uma chamada Apex REST para um endpoint e método HTTP diferentes (incluindo métodos destrutivos) com parâmetros de consulta injetados. Todas essas operações são executadas com as permissões completas do usuário Salesforce conectado (de integração), que normalmente são amplas. Nenhuma credencial é exigida do atacante quando o consumidor de ponte não é autenticado. Este problema afeta o Apache Camel: de 4.0.0 antes de 4.14.8, de 4.15.0 antes de 4.18.3, de 4.19.0 antes de 4.21.0. Recomenda-se que os usuários atualizem para a versão 4.21.0, que corrige o problema. Se os usuários estiverem no fluxo de lançamentos LTS 4.14.x, sugere-se que atualizem para 4.14.8. Se os usuários estiverem no fluxo de lançamentos 4.18.x, sugere-se que atualizem para 4.18.3. Após a atualização, as rotas que definem parâmetros de operação do Salesforce via nomes de cabeçalho brutos devem usar os nomes CamelSalesforce* (por exemplo CamelSalesforceSObjectQuery e CamelSalesforceApexUrl) em vez dos valores antigos sObject* / apex*; a grafia da opção de endpoint permanece inalterada. Para implantações que não podem atualizar imediatamente, remova os cabeçalhos de controle do Salesforce de qualquer entrada não confiável antes do produtor salesforce: (por exemplo removeHeaders('sObject*') e removeHeaders('apex*') no início da rota), e defina os parâmetros de consulta, SObject e Apex a partir de uma fonte confiável.
Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.