
CVE-2026-48206 の再現コード: Apache Camel camel-jira の IssueKey(およびその他の Camel プレフィックスを持たない)ヘッダーインジェクションにより、エンドポイントのサービスアカウント認証情報を使用して任意の JIRA 課題操作を実行可能(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(Camel 4.20.0 をバンドル) |
両方とも影響を受けるバージョンです(4.14.8 / 4.18.3 / 4.21.0 で修正済み)。両方とも同一の欠陥を実証しています。
camel-jira プロデューサーは、Exchange メッセージヘッダーから操作パラメーター(issue キー、プロジェクトキー、トランジション ID など)を読み取ります。
これらのヘッダー定数 — IssueKey、ProjectKey、IssueTransitionId、… — は**Camel プレフィックスが付いていない素の文字列**です。
HTTP 境界フィルター(HttpHeaderFilterStrategy)は Camel* のみを除去するため、その名前のインバウンド HTTP ヘッダーは
Exchange にそのまま渡り、ルートが処理対象とする値を上書きします。認証されていないクライアントが
IssueKey: PROD-999 を注入すると、ルートのサービスアカウントが任意の issue を削除します(CWE-639)。
各サブディレクトリは、独自の 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
| プロパティ | 値 |
|---|---|
| コンポーネント | camel-jira |
| CWE | CWE-20(不適切な入力検証)/ CWE-639(ユーザー制御キーによる認可バイパス) |
| 影響 | エンドポイントのサービスアカウント資格情報を使用して、任意の JIRA 操作(削除/遷移/作成/変更)を実行できる |
| 影響を受けるバージョン | 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-23576(PR apache/camel#23417) |
| クレジット | Yu Bao(PayPal) |
この修正では、ヘッダー定数を CamelJira* 命名規約(例: CamelJiraIssueKey)にリネームし、他のすべての Camel* ヘッダーと同様に HTTP 境界で除去されるようにしています。
これらのリプロデューサーは、公開開示され修正済みの脆弱性に対するセキュリティ研究および許可されたテスト専用に提供されています。明示的な許可なしにシステムに対して使用しないでください。