
Reproductor de PoC para CVE-2026-49099 (Apache Camel camel-salesforce): el encabezado sObjectQuery sin prefijo Camel evita el filtro de encabezados HTTP y anula el SOQL configurado del productor (inyección SOQL / control de acceso roto). Corregido en 4.14.8/4.18.3/4.21.0.
sObjectQuery en camel-salesforceReproductores de prueba de concepto ejecutables para la misma vulnerabilidad de Apache Camel, uno por runtime:
| Runtime | Directorio | 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 (incluye Camel 4.20.0) |
Ambas son versiones afectadas (corregidas en 4.14.8 / 4.18.3 / 4.21.0), y ambas demuestran el mismo defecto:
AbstractSalesforceProcessor.getParameter() resuelve la cabecera sObjectQuery (y sus hermanas apexUrl,
sObjectName, …) antes que el valor configurado del endpoint. Esos nombres de cabecera son cadenas simples, sin prefijo Camel,
y camel-salesforce no incluye ninguna HeaderFilterStrategy, por lo que el filtro del límite HTTP (HttpHeaderFilterStrategy,
que elimina solo Camel*) permite que una cabecera HTTP entrante pase directamente y reemplace el SOQL acotado de la ruta —
una sobrescritura de consulta SOQL / control de acceso roto (CWE-74 + CWE-639).
Cada subdirectorio es un proyecto autocontenido con su propio Dockerfile, docker-compose.yml y README, con un
componente salesforce simulado mediante grabación, por lo que no se requiere una organización de Salesforce, OAuth ni red. En resumen, para
cualquiera de los dos:
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
La corrección renombra las constantes de cabecera a la convención CamelSalesforce* (p. ej. CamelSalesforceSObjectQuery), de modo que
se eliminan en el límite HTTP como cualquier otra cabecera Camel*.
Aviso: https://camel.apache.org/security/CVE-2026-49099.html
Estos reproductores se proporcionan solo para investigación de seguridad y pruebas autorizadas, para una vulnerabilidad divulgada públicamente y corregida. No los utilices contra sistemas sin permiso explícito.
| Propiedad | Valor |
|---|
| Componente | camel-salesforce |
| CWE | CWE-74 (Inyección) / CWE-639 (Omisión de autorización mediante clave controlada por el usuario) |
| Impacto | Un cliente HTTP no autenticado sobrescribe los parámetros SOQL/SOSL/Apex acotados de la ruta mediante cabeceras sin filtrar, leyendo o actuando sobre datos fuera del alcance previsto con los permisos del usuario de integración |
| Versiones afectadas | Desde 4.0.0 anterior a 4.14.8, desde 4.15.0 anterior a 4.18.3, desde 4.19.0 anterior a 4.21.0 |
| Versiones corregidas | 4.14.8, 4.18.3, 4.21.0 |
| JIRA | CAMEL-23716 (PR apache/camel#23887) |
| Crédito | Yu Bao (PayPal) |