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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-84178 — CVE-2026-84178 の実行可能な概念実証(PoC)再現ツールです。これは Apache Camel の camel-oauth における認可コードコールバックのログイン CSRF であり、state を検証せずにコードを引き換えます。 | Kitploit
ツール/GitHubGitHub/oscerd/cve-2026-84178
脆弱性分析ウェブアプリケーション悪用ウェブセキュリティ認証学習と教育
GitHuboscerd/cve-2026-84178

CVE-2026-84178

CVE-2026-84178 の実行可能な概念実証(PoC)再現ツールです。これは Apache Camel の camel-oauth における認可コードコールバックのログイン CSRF であり、state を検証せずにコードを引き換えます。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-84178 — camel-oauth: 認可コードコールバックのログインCSRF(stateの欠落)

Apache Camelの脆弱性に対する実行可能な概念実証(PoC)再現ツールです。この脆弱性では、OAuth認可コードコールバックが、フローを開始した認可リクエストに紐付けるstateパラメータを保持しておらず、また検証もしていませんでした。そのため、任意のブラウザで取得した認可コードをコールバックで引き換えることができ、それを提示したセッションに紐付けられてしまいました — ログインクロスサイトリクエストフォージェリです。被害者は攻撃者が制御するIDとして知らないうちにサインインさせられ、その後の被害者の操作やデータが攻撃者のアカウントに流れ込みます。(同じ未検証のコールバックにより、認証後のリダイレクト先も影響を受ける可能性がありました — オープンリダイレクトです。)アドバイザリが指摘するように、stateチェックはコードが引き換えられる前に実行されるため、この差異はIDプロバイダとのやり取りなしに到達可能です。

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

両モジュールとも、影響を受ける動作および修正後の動作を実演します。

実演内容

実際の未改変のOAuthCodeFlowCallbackプロセッサがコールバックエンドポイントを処理します。Camelレジストリに小さな**スタブOAuth**が登録されているため、コールバックは実際のIDプロバイダなしで動作します — これはIdPの代役にすぎず、認可コードが引き換えられた時点を記録します(実際のフローでは、これにより結果のIDが提示元のセッションに紐付けられます)。攻撃者は単にcodeを付けて、一致するstateなしでコールバックにアクセスするだけです:

  • 影響あり: コールバックが攻撃者提供のコードを引き換え、IDをセッションに紐付けます — HTTP 302(ログイン成功)。スタブは引き換えを記録します。
  • 修正済み: コールバックは**HTTP 400 "No authorization code flow in progress"**で拒否します(このセッションが開始した認可リクエストに一致するstateを要求します) — コードは決して引き換えられません。
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

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

Request: GET /callback?code=ATTACKER-SUPPLIED-AUTH-CODE   (no 'state' parameter)
Callback HTTP status: 302
>>> PROVEN: the callback redeemed the authorization code ... WITHOUT verifying a state parameter ... login CSRF.

脆弱性の概要

項目値
コンポーネントcamel-oauth(authorization-code コールバック、OAuthCodeFlowCallback)
CWECWE-352(クロスサイトリクエストフォージェリ)
深刻度MEDIUM
攻撃ベクトルセッションの認可リクエストに紐づかない state を持たない認可コードを伴うコールバックリクエスト
影響ログイン CSRF(被害者が攻撃者の制御する ID としてサインインさせられる)、信頼されたオリジンからのオープンリダイレクト
影響を受けるバージョン4.11.0 から 4.18.5 より前、4.19.0 から 4.22.1 より前
修正済みバージョン4.18.5、4.22.1、4.23.0
JIRACAMEL-24437
クレジットClaude Security Scan Tool

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

修正内容

コールバックは、セッションが開始した認可リクエストに紐づく単一使用の state パラメータを保持し、検証するようになりました: expectedState = session.removeValue(OAUTH_STATE) を state クエリパラメータと(定数時間で)比較します。フローが進行中でない場合、または state が一致しない場合、コールバックはコードを引き換える前にリクエストを拒否します。

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

アップグレードできるようになるまで、コールバックを CSRF の state バインディングを強制するコンポーネントの背後に配置するか、セッション確立のために OAuth コードフローのコールバックに依存しないようにしてください。

免責事項

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

ツールをダウンロード