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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-84181 — Spring Boot と Quarkus で実行可能な概念実証。Apache Camel の camel-shiro における thread-bound-subject 認証バイパスを再現し、脆弱な構成と修正済みの対照構成を備えています。 | Kitploit
ツール/GitHubGitHub/oscerd/cve-2026-84181
防御ツール脆弱性分析エクスプロイトウェブアプリケーション悪用認証学習と教育
GitHuboscerd/cve-2026-84181

CVE-2026-84181

Spring Boot と Quarkus で実行可能な概念実証。Apache Camel の camel-shiro における thread-bound-subject 認証バイパスを再現し、脆弱な構成と修正済みの対照構成を備えています。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-84181 — camel-shiro: スレッドにバインドされたサブジェクトによる認証バイパス

Apache Camel の脆弱性を再現する実行可能な概念実証(PoC)です。この脆弱性では、現在のスレッドにすでにバインドされている Shiro の Subject が受信エクスチェンジと同じプリンシパルを持っている場合に、Shiro セキュリティプロセッサが資格情報の検証をスキップしていました。Camel エクスチェンジを処理するスレッドはプールから取得され、複数のエクスチェンジ間で再利用されるため、以前の認証済みエクスチェンジによってバインドされたままのサブジェクトが、自身の有効な資格情報を一切提示していない後続のエクスチェンジのチェックを満たしてしまう可能性がありました。つまり、その後続のエクスチェンジのパスワードは一度も検証されませんでした。攻撃者は、現在アクティブに使用されているプリンシパルを指定したリクエストを送信するだけで済みます。

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

両方のモジュールが、影響を受ける動作および修正後の動作を示します。

実証内容

ルートは alwaysReauthenticate=false で構築された ShiroSecurityPolicy によって保護されています。これは、認証済みサブジェクトをエクスチェンジ間で(プールされ再利用される)ワーカースレッドに意図的にバインドしたままにする、ドキュメント化されたモードです。エクスプロイトドライバは、1 つの HTTP ワーカースレッド内で、2 つのエクスチェンジを順番に実行します。

  1. ringo による正しいパスワード starr を使った正当なリクエスト — 認証が成功し、Shiro サブジェクトがこのスレッドにバインドされたままになります(ビジーなサービスにおける以前の認証済みリクエストと同様です)。
  2. 同じユーザー ringo を指定するが誤ったパスワード not-starr を使った攻撃者のリクエストを、同じスレッド上で実行します。
  • 影響あり: 2 番目のエクスチェンジはパスワードを検証されることなく受け入れられ、ステップ 1 によってスレッドにバインドされたままのサブジェクトを利用して、保護されたロジックに到達します。認証バイパスです。
  • 修正済み: 2 番目のエクスチェンジの資格情報はそれ自体で検証され、同じユーザーが依然としてスレッドにバインドされていても、AuthenticationException で拒否されます。
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: wrong password reaches protected logic; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-84181-shiro-auth-bypass-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: wrong password rejected; >>> 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.15.0): wrong password reaches protected logic
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: wrong password rejected

脆弱性の概要

プロパティ値
コンポーネントcamel-shiro (ShiroSecurityProcessor.authenticateUser)
CWECWE-287 (不適切な認証)
深刻度MEDIUM
攻撃ベクトル再利用されたワーカースレッドに現在バインドされているプリンシパルを指定し、自身の有効な認証情報を持たないリクエスト
影響認証バイパス: 未認証のリクエストが既にバインド済みのプリンシパルとして受け入れられ、そのパスワードは検証されない
影響を受けるバージョン4.0.0 から 4.18.5 未満、4.19.0 から 4.22.1 未満
修正済みバージョン4.18.5、4.22.1、4.23.0
JIRACAMEL-24439
クレジットClaude Security Scan Tool

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

修正内容

ShiroSecurityProcessor.authenticateUser は、スレッドにバインドされたサブジェクトが既に同じプリンシパルを保持している場合にログインをスキップしなくなりました。以前のコードは currentUser.isAuthenticated() && username.equals(currentUser.getPrincipal()) でショートサーキットしていましたが、ユーザー名が一致することは、この エクスチェンジで提示されたパスワードについて何も示していません。プロセッサは現在、すべての エクスチェンジで currentUser.login(token) を呼び出すため、提示された認証情報は常に検証されます。alwaysReauthenticate は引き続きサブジェクトの rememberMe の有効期間を制御しますが、パスワードがチェックされるかどうかを左右することはなくなりました。

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

アップグレードできるようになるまで、すべてのエクスチェンジの終了時に Shiro サブジェクトがスレッドからクリアされるようにしてください (後続のエクスチェンジがサブジェクトを継承できないようにするため)。たとえば、Shiro の ThreadContext.unbindSubject() を呼び出す onCompletion/プロセッサを使用します。

免責事項

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

ツールをダウンロード