
针对同一 Apache Camel 漏洞的可运行概念验证(PoC)复现程序,每种运行时一个:
| 运行时 | 目录 | 技术栈 |
|---|---|---|
| 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(集成了 Camel 4.20.0) |
两者均为受影响版本(已在 4.18.3 / 4.21.0 中修复),且都展示了完全相同的缺陷:
KeycloakSecurityPolicy 在其文档所述的“基本设置”(Basic Setup)中,若未配置必需的
角色/权限,则从不验证所提交的令牌——该令牌仅经过非空检查。任何垃圾数据或伪造的
bearer 值都能到达受保护的路由;当该路由将请求转发至代码执行汇(code-execution sink)
时,结果便是未认证的远程代码执行(CWE-287 / CWE-306 / CWE-636)。这是 2026 年批次中
最严重的问题。(Spring Boot 变体驱动 exec 组件;Quarkus 变体驱动等效的处理器。)
每个子目录都是一个自包含项目,带有各自的 Dockerfile、docker-compose.yml 和 README。
简而言之,对任一项目:
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
安全公告:https://camel.apache.org/security/CVE-2026-53913.html
这些复现程序仅供安全研究与授权测试之用,针对的是已公开披露并已修复的漏洞。 未经明确许可,请勿将其用于任何系统。
| 属性 | 值 |
|---|
| 组件 | camel-keycloak(Spring Boot:camel-keycloak-starter;Quarkus:camel-quarkus-keycloak) |
| CWE | CWE-287(身份验证不当)/ CWE-306(缺少身份验证)/ CWE-636(未安全失败) |
| 影响 | 认证前绕过;当受保护路由将请求转发至代码执行汇时,可导致未认证 RCE |
| 受影响版本 | 自 4.15.0 至 4.18.3(不含)、自 4.19.0 至 4.21.0(不含) |
| 修复版本 | 4.18.3、4.21.0 |
| JIRA | CAMEL-23738(PR apache/camel#23958) |
| 致谢 | Lidor Ben Shitrit(Novee Security) |