
CVE-2026-46726 の再現ツール: Apache Camel camel-vertx-websocket におけるフィルタリングされていないインバウンドヘッダーインジェクション。property-placeholder の解決を介して SSRF とシークレットの開示を可能にします(4.14.8/4.18.3/4.21.0 で修正済み)
同じ Apache Camel の脆弱性に対する実行可能な概念実証(PoC)再現コードです。ランタイムごとに 1 つずつ用意されています:
| ランタイム | ディレクトリ | スタック | WebSocket フィード |
|---|---|---|---|
| Camel Spring Boot | camel-spring-boot/ | Spring Boot 3.2.0 + camel-spring-boot 4.18.2 | 別ポート :8090 |
| Camel Quarkus | camel-quarkus/ | Quarkus 3.36.0 + Camel Quarkus 3.36.0(Camel 4.20.0 をバンドル) | 管理対象の Quarkus HTTP サーバー :8080 |
どちらも影響を受けるバージョンです(4.14.8 / 4.18.3 / 4.21.0 で修正済み)。また、両方ともまったく同じ欠陥を再現します:
VertxWebsocketConsumer#populateExchangeHeaders は、WebSocket 接続のクエリーパラメーターを HeaderFilterStrategy なしで Exchange にコピーします。クライアントがクエリーパラメーターとして CamelHttpUri を指定すると、ダウンストリームの camel-http プロデューサーを任意の場所へ誘導できます(SSRF、CWE-918)。さらに、このプロデューサーは攻撃者が制御する URI 上の Camel プロパティープレースホルダーも解決するため、注入された {{app.secret}} が実際の値に展開され、攻撃者のコレクターに送信されます(情報漏えい、CWE-200)。
2 つのバリアントはフィードの提供場所のみが異なります:
camel-quarkus-vertx-websocket拡張機能は常に コンシューマーを管理対象の Quarkus HTTP サーバーにバインドし、それ以外のホスト/ポートを拒否するため、Quarkus バリアントは REST エンドポイントに加えて:8080で/feedを提供します。欠陥自体は影響を受けません。
各サブディレクトリは、独自の 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-46726.html
これらの再現コードは、公開済みかつ修正済みの脆弱性に対するセキュリティ研究および許可されたテストのみを目的として提供されています。明示的な許可なくシステムに対して使用しないでください。
| プロパティ | 値 |
|---|
| コンポーネント | camel-vertx-websocket |
| 影響を受けるクラス | org.apache.camel.component.vertx.websocket.VertxWebsocketConsumer#populateExchangeHeaders(インバウンドのクエリー/パスパラメーターに HeaderFilterStrategy なし) |
| CWE | CWE-20 → CWE-918(SSRF)および CWE-200(情報漏えい) |
| 影響 | WebSocket クエリーパラメーターを介した CamelHttpUri の注入 → ダウンストリーム HTTP プロデューサーによる SSRF + プレースホルダー解決による環境変数/プロパティ/ボールトのシークレット漏えい |
| 影響を受けるバージョン | 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-23532(PR apache/camel#23285) |
| クレジット | Kamalpreet Singh |