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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-85315 — CVE-2026-85315 の実行可能な概念実証(PoC)再現ツール。Camel Spring Boot および Quarkus における camel-grpc コンシューマーの例外メッセージ漏洩(CWE-209)を実証します。 | Kitploit
ツール/GitHubGitHub/oscerd/cve-2026-85315
防御ツールウェブ脆弱性スキャナー脆弱性分析情報収集学習と教育
GitHuboscerd/cve-2026-85315

CVE-2026-85315

CVE-2026-85315 の実行可能な概念実証(PoC)再現ツール。Camel Spring Boot および Quarkus における camel-grpc コンシューマーの例外メッセージ漏洩(CWE-209)を実証します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-85315 — camel-grpc: コンシューマーによる例外の開示

Apache Camel の脆弱性に対する実行可能な概念実証(PoC)再現プログラムです。この脆弱性では、gRPC コンシューマーの背後にあるルートが失敗した際に、ルートの例外メッセージが gRPC の Status の description にコピーされていました。ステータスの cause(withCause(...))はサーバー内に留まりますが、description は呼び出し元のクライアントに送信されるため、失敗を引き起こせる外部の呼び出し元が内部のエラーメッセージを読み取ることができました。実際には、例外メッセージに含まれるクラス名やパッケージ名、ファイルパス、ホスト名、接続の詳細などが該当します(CWE-209)。これは、同時期に公開された knative、mina、CXF のアドバイザリと同じ「ミュートされていないコンシューマー例外」ファミリーに属する gRPC 版です。

ランタイムディレクトリスタック
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-grpc 4.22.0(影響あり、修正版 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.39.0 + camel-quarkus-grpc(Camel 4.22.0、影響あり、修正版コントロール CQ 3.40.0 / Camel 4.22.1)

両モジュールとも、実際の camel-grpc コンシューマーに対して影響を受ける動作と修正済みの動作の両方を実演します。

実演内容

各モジュールは camel-grpc コンシューマー(camel-grpc 自身のテスト用 proto にある PingPong サービス)を実行し、そのルートは常に内部情報らしきメッセージで失敗します:

Internal failure contacting jdbc:postgresql://db.internal.local:5432 (user=svc_admin) [CVE-2026-85315]

検証エンドポイント /exploit/attack は外部 gRPC クライアントとして動作します。PingSyncSync を呼び出し、StatusRuntimeException を捕捉して、サーバーが返した Status コードと説明を報告します。

  • 影響あり: ステータスの説明がルート例外のメッセージそのままとなり、バッキングストアの URL とサービスアカウントがクライアントに漏洩します。
  • 修正済み: 新しい muteException コンシューマーオプションはデフォルトで true となるため、説明は汎用的な "Exchange processing failed" になり、実際のメッセージがサーバー外に出ることはありません(ローカル専用のステータス原因にのみ保持されます)。
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: description leaks the internal message; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85315-grpc-exception-disclosure-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: description is "Exchange processing failed"; >>> Not exploited
# Camel Quarkus
cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected (Camel 4.22.0): description leaks the internal message
docker compose down
# Patched control: CQ 3.40.0 ships Camel 4.22.1
mvn clean package -Dcamel-quarkus.version=3.40.0 -Dquarkus.platform.version=3.40.0
java -jar target/quarkus-app/quarkus-run.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: description is "Exchange processing failed"

各モジュールは同一プロセス内で 8080 上で検証サービスを提供し、50051 上で camel-grpc コンシューマーを実行します。公開されるのは 8080 のみです。

脆弱性の概要

項目値
コンポーネントcamel-grpc (GrpcMethodHandler、コンシューマー)
CWECWE-209 (機密情報を含むエラーメッセージの生成)
深刻度MEDIUM
攻撃ベクトル外部の gRPC クライアントがルート障害を引き起こし、送信される Status の説明を読み取る
影響内部エラーの詳細 (クラス名/パッケージ名、パス、ホスト名、接続の詳細) が呼び出し元に開示される
影響を受けるバージョン4.0.0 から 4.18.5 未満、4.19.0 から 4.22.1 未満
修正済みバージョン4.18.5、4.22.1、4.23.0
JIRACAMEL-24478
クレジットClaude Security Scan Tool

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

影響を受ける Quarkus モジュールは CQ 3.39.0 (Camel 4.22.0) 上でビルドされています。修正済みの制御は CQ 3.40.0 (Camel 4.22.1) です。

修正内容

GrpcMethodHandler は muteException コンシューマーオプション (デフォルトは true) を追加します。有効にすると、失敗したエクスチェンジは送信されるステータスにおいて汎用的な説明 "Exchange processing failed" を返します。ルートの例外は引き続きローカルで withCause(...) を介して付加されますが、 これは gRPC によってクライアントには送信されません。以前の動作に戻すには、エンドポイントで muteException=false を設定してください。

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

onException ハンドラー内で明示的なステータスに失敗をマッピングし、フレームワークが例外メッセージを 説明にコピーしないようにします。

免責事項

このリポジトリは教育および防御目的で公開されています。Apache Camel ユーザーが脆弱性を理解し、影響を受けているかどうかを確認し、アップグレードによって解決されることを確証できるようにするためです。「内部」メッセージは無害なプレースホルダー (db.internal.local、svc_admin) であり、デモ全体は単一プロセス内で実行されます。所有または運用していないシステムに対してこの資料を使用しないでください。

ツールをダウンロード