
CVE-2026-49098(Apache Camel camel-kafka)用のPoC再現コード:Camelプレフィックスが付かない kafka.OVERRIDE_TOPIC ヘッダーが上流のHTTPヘッダーフィルターをすり抜け、プロデューサーに設定されたトピックを上書きして、攻撃者が偽造したレコードを特権Kafkaトピックに注入します(クロストピック注入)。4.14.8/4.18.3/4.21.0 で修正済み。
kafka.OVERRIDE_TOPIC ヘッダーインジェクション同じ Apache Camel の脆弱性に対する実行可能な概念実証(PoC)再現コードです。ランタイムごとに 1 つずつ用意しています:
| Runtime | Directory | 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 (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
これらの再現コードは、一般に公開され修正済みの脆弱性に対するセキュリティ研究および許可されたテストのみを目的として提供されています。明示的な許可なくシステムに対して使用しないでください。
| Property | Value |
|---|
| コンポーネント | 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) |