
Reprodutor de PoC para CVE-2026-49099 (Apache Camel camel-salesforce): o cabeçalho sObjectQuery sem prefixo Camel escapa do filtro de cabeçalhos HTTP e substitui o SOQL configurado pelo produtor (injeção de SOQL / controle de acesso quebrado). Corrigido em 4.14.8/4.18.3/4.21.0.
sObjectQuery no camel-salesforceReprodutores executáveis de prova de conceito para a mesma vulnerabilidade do Apache Camel, um por runtime:
| Runtime | Diretório | Stack |
|---|---|---|
| Camel Spring Boot | camel-spring-boot/ | Spring Boot 3.2.0 + camel-spring-boot 4.18.2 |
| Camel Quarkus | camel-quarkus/ | Quarkus 3.36.0 + Camel Quarkus 3.36.0 (inclui Camel 4.20.0) |
Ambas são versões afetadas (corrigidas em 4.14.8 / 4.18.3 / 4.21.0) e demonstram o mesmo defeito:
AbstractSalesforceProcessor.getParameter() resolve o cabeçalho sObjectQuery (e seus irmãos apexUrl,
sObjectName, …) antes do valor configurado do endpoint. Esses nomes de cabeçalho são strings simples, sem o
prefixo Camel, e o camel-salesforce não inclui nenhum HeaderFilterStrategy; portanto, o filtro de fronteira HTTP
(HttpHeaderFilterStrategy, que remove apenas Camel*) permite que um cabeçalho HTTP de entrada passe diretamente
e substitua o SOQL com escopo da rota — uma substituição de consulta SOQL / controle de acesso quebrado
(CWE-74 + CWE-639).
Cada subdiretório é um projeto autônomo com seu próprio Dockerfile, docker-compose.yml e README — com um
componente salesforce substituto de gravação, portanto não é necessário org Salesforce, OAuth ou rede. Em resumo,
para qualquer um deles:
cd camel-spring-boot # or: cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down
A correção renomeia as constantes de cabeçalho para a convenção CamelSalesforce* (ex.: CamelSalesforceSObjectQuery),
para que sejam removidas na fronteira HTTP como qualquer outro cabeçalho Camel*.
Aviso de segurança: https://camel.apache.org/security/CVE-2026-49099.html
Estes reprodutores são fornecidos apenas para pesquisa de segurança e testes autorizados, para uma vulnerabilidade divulgada publicamente e corrigida. Não os utilize contra sistemas sem permissão explícita.
| Propriedade | Valor |
|---|
| Componente | camel-salesforce |
| CWE | CWE-74 (Injeção) / CWE-639 (Contorno de Autorização Através de Chave Controlada pelo Usuário) |
| Impacto | Um cliente HTTP não autenticado substitui os parâmetros SOQL/SOSL/Apex com escopo da rota por meio de cabeçalhos não filtrados, lendo ou agindo sobre dados fora do escopo pretendido com as permissões do usuário de integração |
| Versões Afetadas | De 4.0.0 anterior a 4.14.8, de 4.15.0 anterior a 4.18.3, de 4.19.0 anterior a 4.21.0 |
| Versões Corrigidas | 4.14.8, 4.18.3, 4.21.0 |
| JIRA | CAMEL-23716 (PR apache/camel#23887) |
| Crédito | Yu Bao (PayPal) |