Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/oscerd/cve-2026-78164
防御ツール脆弱性分析エクスプロイトウェブアプリケーション悪用データ流出情報収集学習と教育
GitHuboscerd/cve-2026-78164

CVE-2026-78164

CVE-2026-78164 の実行可能な概念実証であり、Apache Camel の HTTP プロデューサーが攻撃者から提供された CamelHttpUri ヘッダー内のプロパティプレースホルダーを解決する際に、シークレットが漏洩することを実証します。

リポジトリを見る
12日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-78164 — Camel HTTPプロデューサーがメッセージ提供のURIヘッダー上でプロパティプレースホルダーを解決する

Apache Camelの脆弱性に対する実行可能な概念実証(PoC)再現ツールです。この脆弱性では、HTTPプロデューサーファミリーが受信メッセージによるCamelHttpUriおよびCamelRestHttpUriヘッダーを介したエンドポイントURIの上書きを許し、その後、使用前にそのメッセージ提供の文字列をCamelContext.resolvePropertyPlaceholders()に通していました。

プロパティプレースホルダーの解決は設定解決機能であり、URI解析ステップではありません。これはオペレーティングシステムの環境変数、JVMシステムプロパティ、クラスパス上のすべてのPropertiesFunction(AWS、Azure、GCP、HashiCorp、IBM、CyberArk、Kubernetesのシークレット関数を含む)に到達し、さらにcamel-beanを介してレジストリ内の任意のBeanの引数なしメソッドの呼び出しにも到達します。これを攻撃者が影響を与えられるExchangeコンテンツに適用すると、URI文字列が設定およびBean評価のコンテキストに変わってしまいます。ルート作成者はこれのいずれにもオプトインしていませんでした。単純な静的to("http://backend/api")で十分でした。

ランタイムディレクトリスタック
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-http 4.22.0(影響あり、修正版 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.29.0 + camel-quarkus-http 3.29.0(Camel 4.15.0、影響あり)

この動作は4.x系より前から存在しており(camel-http4 / camel-netty4に遡ります)、影響を受けるすべてのリリースと、最新のCamel Quarkusに含まれるCamel 4.15.0が脆弱です。修正はCamel 4.18.5 / 4.22.1 / 4.23.0で提供されます。Spring Bootモジュールは影響を受けるビルド(4.22.0)と修正済みビルド(4.22.1)の両方を実行します。修正済みCamelをバンドルしたCamel Quarkusはまだリリースされていません。

実証内容

ルートはローカルコレクターを指す単純な静的to("http://127.0.0.1:9100/collect")です。攻撃者はCamelHttpUriヘッダーにプロパティプレースホルダートークンを含むURIを設定します — シークレットの値を知ることなく、キー名を指定するだけです:

CamelHttpUri: http://127.0.0.1:9100/collect?leak={{sys:cve78164.secret}}

アプリは、任意の設定値や Vault シークレットの代わりとして JVM システムプロパティ cve78164.secret をシードします。影響を受けるビルドでは、プロデューサーがリクエストを送信する前にプレースホルダーを解決するため、コレクターは送信クエリ内にシークレットを確認できます。修正済みビルドでは、トークンはそのまま転送されます。

cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

影響を受けたビルドで期待される出力:

Outbound request observed by the collector:
    GET /collect?leak=S3CR3T-cve78164-do-not-leak

>>> PROVEN: the {{sys:...}} placeholder in the attacker-supplied CamelHttpUri was resolved,
>>> expanding the secret 'S3CR3T-cve78164-do-not-leak' into the outbound request.

修正済みビルドでは、コレクターが代わりに GET /collect?leak={{sys:cve78164.secret}}(解決されず、リテラルのまま)を観測します。

脆弱性の概要

項目値
コンポーネントcamel-http / camel-http-common / camel-vertx-http / camel-undertow / camel-netty-http
CWECWE-1336(テンプレートエンジンで使用される特殊要素の中和不備)、CWE-200(情報漏えい)
深刻度HIGH
攻撃ベクトル{{...}} トークンを含む CamelHttpUri / CamelRestHttpUri 上書きヘッダー。ボディ/ヘッダーは bridgeEndpoint によって制限されず、複数のコンシューマーがリバースプロキシ機能としてリクエストラインから CamelHttpUri を設定する
影響環境変数、システムプロパティ、vault のシークレットが送信リクエストに展開される。レジストリ Bean の引数なし呼び出し。エコーされたエラーを通じた設定キーの set/unset オラクル
影響を受けるバージョン4.0.0 から 4.18.5 未満、4.19.0 から 4.22.1 未満(この挙動は 4.x より前から存在)
修正済みバージョン4.18.5、4.22.1、4.23.0
JIRACAMEL-24418
クレジット[email protected]

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

修正内容

影響を受けるすべての箇所で、メッセージごとの resolvePropertyPlaceholders() 呼び出しが削除されたため、CamelHttpUri または CamelRestHttpUri にのみ現れる {{...}} トークンは、URI のリテラルな一部として扱われるようになりました。ルート自身のエンドポイント URI 内のプレースホルダーは影響を受けません。これらはエンドポイント作成時のビルド時に一度だけ解決されます。

アップグレードできない場合の緩和策

プロデューサーの前の信頼境界で、removeHeader("CamelHttpUri") と removeHeader("CamelRestHttpUri") を使って上書きヘッダーを除去するか、camel-http エンドポイントで skipControlHeaders=true を設定してください(このオプションを提供する唯一のコンポーネントです)。bridgeEndpoint=true は回避策ではありません。信頼できない送信元に公開されているコンシューマーには、厳格な受信 HeaderFilterStrategy を適用し、シークレットはプレースホルダーが指定できる環境変数やシステムプロパティではなく、vault を通じて解決してください。

免責事項

このリポジトリは教育および防御目的で公開されています。Apache Camel ユーザーが脆弱性を理解し、影響を受けているかどうかを確認し、アップグレードによって解決されることを検証できるようにするためです。「シークレット」は無害なローカルフィクスチャです。所有または運用していないシステムに対してこの資料を使用しないでください。

ツールをダウンロード