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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-85317 — CVE-2026-85317を再現する実行可能なSpring Bootの概念実証。camel-httpのOAuth2トークンキャッシュがscope、resource、トークンエンドポイントを無視する問題に加え、修正済みのコントロールを収録。 | Kitploit
ツール/GitHubGitHub/oscerd/cve-2026-85317
脆弱性分析エクスプロイトウェブアプリケーション悪用認証学習と教育
GitHuboscerd/cve-2026-85317

CVE-2026-85317

CVE-2026-85317を再現する実行可能なSpring Bootの概念実証。camel-httpのOAuth2トークンキャッシュがscope、resource、トークンエンドポイントを無視する問題に加え、修正済みのコントロールを収録。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-85317 — camel-http: OAuth2 トークンキャッシュの混同

Apache Camel の脆弱性に対する実行可能な概念実証(PoC)再現ツールです。この脆弱性では、camel-http の OAuth2 クライアントトークンキャッシュ — JVM グローバルな static マップ — が、そのエントリのキーを (uri, clientId, clientSecret) のみで構成しており、 トークンを実際に形作るフィールド、すなわち要求スコープ、リソースインジケーター、トークンエンドポイントを省略していました。したがって、 これらのフィールドのみが異なる 2 つのエンドポイントがキャッシュエントリを共有し、あるエンドポイントに対して異なるスコープ、 異なるリソース、または異なる認可サーバーによって発行されたトークンが提供される可能性がありました — つまり、エンドポイントが 設定されていた以上の権限を持つリクエスト、または発行先ではない相手に提示されるトークンです (CWE-524)。

Spring Boot のみ。 この再現ツールは単一の Camel Spring Boot モジュールを同梱しています。この欠陥は camel-http の OAuth2 クライアントにあり、camel-quarkus-http 拡張も存在します。しかし、その拡張の JVM パッケージングでは、エンドポイントレベルの oauth2* クライアントオプションが Spring Boot の場合のようには適用されません(トークンキャッシュを所有する OAuth2 リクエストインターセプターが 配線されないため、トークンエンドポイントが呼び出されることはありません)— これは CVE-2026-85251 で文書化されたのと同じ制限です。 Spring Boot モジュールは、影響を受ける動作および修正後の動作を実演します。

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

実演内容

ドライバーは修正自体の回帰テスト(HttpOAuth2TokenCachingTest)を模倣しています。プロセス内で 2 つの使い捨て HTTP サーバーが動作します。 ベアラートークンを発行するトークンエンドポイントと、それを要求するターゲットです。検証ツール(/exploit/attack)は次の処理を行います。

  1. oauth2CacheTokens=true&oauth2Scope=read を指定してターゲットへ最初のリクエストを行います — トークンが発行され、キャッシュされます。
  2. トークンエンドポイントをシャットダウンします。
  3. oauth2Scope=read+write 以外は同一の 2 回目のリクエストを行います。
  • 影響あり: キャッシュキーがスコープを無視するため、2 回目のリクエストはキャッシュヒットとなり read トークンを再利用します — トークンエンドポイントが停止しているにもかかわらず成功します(新しいトークンが発行されることはあり得ません)。
  • 修正済み: スコープがキーの一部となるため、2 回目のリクエストはキャッシュをミスし、新しいトークンの発行を試みます。 トークンエンドポイントが停止しているため接続に失敗します(HttpHostConnectException)。
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: 2nd request 200 (reused read token); >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85317-http-oauth2-token-cache-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: 2nd request HttpHostConnectException; >>> Not exploited

脆弱性の概要

項目値
コンポーネントcamel-http (OAuth2ClientConfigurer、トークンキャッシュ)
CWECWE-524 (機密情報を含むキャッシュの使用)
重大度MEDIUM
攻撃ベクトルスコープ、リソースインジケーター、またはトークンエンドポイントのみが異なる複数の OAuth2 エンドポイントを 1 つのデプロイメントで構成した場合、それらが JVM グローバルなトークンキャッシュを共有する
影響あるエンドポイントに対して、異なるスコープ/リソース/認可サーバー向けに発行されたトークンが提供される — 構成された権限より広い権限、または誤った相手に提示されるトークン
影響を受けるバージョン4.0.0 から 4.18.5 未満、4.19.0 から 4.22.1 未満
修正済みバージョン4.18.5、4.22.1、4.23.0
JIRACAMEL-24456
クレジットClaude Security Scan Tool

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

修正内容

OAuth2ClientConfigurer はキャッシュキーのレコード OAuth2URIAndCredentials を拡張してトークンエンドポイント、スコープ、リソースインジケーターを含めるようにしたため、 これらのフィールドのいずれかが異なるエンドポイント間でエントリが共有されることはなくなった。

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

スコープ、リソースインジケーター、またはトークンエンドポイントが異なるエンドポイントは、別々の JVM で実行して 静的キャッシュを共有しないようにする。

免責事項

このリポジトリは教育および防御目的で公開されている。Apache Camel ユーザーが脆弱性を理解し、影響を受けているかどうかを確認し、 アップグレードによって解決されることを確かめるためのものである。トークン (xxx.yyy.zzz)、クライアント ID、シークレットは無害なプレースホルダーであり、両方の HTTP サーバーはインプロセスで動作する。 所有または運用していないシステムに対してこの資料を使用しないこと。

ツールをダウンロード