kafka.OVERRIDE_TOPIC 标头注入针对同一 Apache Camel 漏洞的可运行概念验证复现程序,每个运行时一个:
| 运行时 | 目录 | 技术栈 |
|---|---|---|
| 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.14.8 / 4.18.3 / 4.21.0 中修复),并且都展示了相同的
缺陷:KafkaProducer.evaluateTopic() 读取不带 Camel 前缀的 kafka.OVERRIDE_TOPIC 标头,并优先使用它
而不是端点配置的主题。它绕过了 HTTP 标头过滤器(Spring Boot 的 servlet platform-http 和
Quarkus 的 Vert.x platform-http 均如此),并将生成的记录移动到攻击者选择的主题上——跨主题
注入(CWE-20 → CWE-74)。
每个子目录都是一个自包含的项目,包含自己的 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-49098.html
这些复现程序仅供安全研究和授权测试使用,针对的是已公开披露 并已修复的漏洞。未经明确许可,请勿将其用于任何系统。
| 属性 | 值 |
|---|
| 组件 | camel-kafka(Spring Boot:camel-kafka-starter;Quarkus:camel-quarkus-kafka) |
| CWE | CWE-20(输入验证不当)/ CWE-74(注入) |
| 影响 | 将生成的记录重定向/注入到任意 Kafka 主题 |
| 受影响版本 | 4.0.0 至 4.14.8 之前,4.15.0 至 4.18.3 之前,4.19.0 至 4.21.0 之前 |
| 已修复版本 | 4.14.8, 4.18.3, 4.21.0 |
| JIRA | CAMEL-23584(PR apache/camel#23602) |
| 致谢 | Yu Bao (PayPal) |