
CVE-2026-46584 の再現ツール: Apache Camel camel-mail の mail.smtp.* ヘッダインジェクションにより、パス上の SOCKS インターセプションを介した認証情報の窃取を可能にする (4.14.8/4.18.3/4.21.0 で修正済み)
| ランタイム | ディレクトリ | スタック |
|---|
| 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 (bundles Camel 4.20.0) |
どちらも影響を受けるバージョン(4.14.8 / 4.18.3 / 4.21.0で修正)であり、同じ欠陥を示しています:メールプロデューサのgetSender()は、接続前に任意のインバウンドmail.smtp.*メッセージヘッダーをJavaMailセッションに折り込みます。これらの名前はベアで、Camelプレフィックスが付いていない文字列であるため、HTTPバウンダリフィルター(HttpHeaderFilterStrategy、Camel*のみを除去する)は、認証されていないHTTPクライアントがそれらを設定することを許可します。2つの追加リクエストヘッダー(mail.smtp.socks.host / mail.smtp.socks.port)は、被害者の認証済みSMTP接続を攻撃者制御のSOCKSプロキシ経由でトンネリングし、平文のAUTH LOGIN認証情報を収穫します — その間、被害者の送信は依然として成功するため、傍受は静かに行われます。
各サブディレクトリは、独自のDockerfile、docker-compose.yml、およびREADMEを持つ自己完結型プロジェクトです — 「正当な」SMTPサーバーと攻撃者のSOCKSプロキシは両方ともJVM内で実行されるため、外部サービスは必要ありません。要するに、次のように実行します:
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
| プロパティ | 値 |
|---|---|
| コンポーネント | camel-mail |
| CWE | CWE-20 (不適切な入力検証) / CWE-200 (情報漏洩) |
| 影響 | インバウンドmail.smtp.*ヘッダーがJavaMailセッションを書き換える → トランスポート傍受、認証情報の窃取、信頼/TLSの弱体化 |
| 影響を受けるバージョン | 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-23522 |
これらの再現コードは、セキュリティ研究および許可されたテストのみを目的として提供されており、公開され修正済みの脆弱性に対するものです。明示的な許可なくシステムに対して使用しないでください。