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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-71206-PoC — PoC: Shiori JWT CheckToken はアカウント状態を再検証しない (CVE-2026-71206, High 8.2) | Kitploit
ツール/GitHubGitHub/nel-droid/cve-2026-71206-poc
認証と認可脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティ認証
GitHubnel-droid/cve-2026-71206-poc

CVE-2026-71206-PoC

PoC: Shiori JWT CheckToken はアカウント状態を再検証しない (CVE-2026-71206, High 8.2)

リポジトリを見る
191ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-71206 — Shiori: JWT CheckToken はアカウント状態を再検証しない

製品: go-shiori/shiori ファイル: internal/domains/auth.go CWE: CWE-613 — 不十分なセッション有効期限 CVSS 3.1: AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L — 8.2 (高) CNA: Turan Security · CVE レコード

説明

Shiori の CheckToken 関数(internal/domains/auth.go)は、JWT の HMAC 署名のみを検証し、埋め込まれた claims.Account オブジェクトをそのまま返します — リクエストのたびにデータベースからアカウントを再取得することはありません。コードベースのどこにも、 セッションストアやトークン失効メカニズムは存在しません。

影響

一度発行された JWT は、その後のアカウントへの影響にかかわらず、 有効期間中ずっと完全に有効なままです。管理者がユーザーを削除したり、ユーザーを降格させたり、侵害が疑われた後にユーザーの パスワードが変更された場合でも、その変更前に発行された JWT は、 トークンに埋め込まれた元の claims(ロール、アカウント ID など)によって 認証に成功し続けます — これを無効化するサーバー側の状態は存在しません。

再現手順

  1. ユーザーとして認証し、発行された JWT を取得します(例: POST /api/v1/auth/login 経由)。
  2. 管理者として、アカウントを削除するか、ユーザーのロールを降格させます。
  3. 元の JWT を認証済みの任意のエンドポイントに対して再生します:
    GET /api/bookmarks
    Authorization: Bearer <original JWT>
    
  4. リクエストは古い claims を使用して成功します — 削除・降格されたアカウントでも アクセスが引き続き可能です。CheckToken は現在の DB 状態をチェックせず、署名のみを検証するためです。

根本原因

CheckToken は、JWT ペイロードを、使用のたびにデータベースに対して再検証(または失効リストとの照合)すべきベアラ資格情報としてではなく、アカウント状態の真実の情報源として信頼しています。

修正の推奨事項

埋め込まれた claims をそのまま信頼するのではなく、認証されたすべてのリクエストで ID によりアカウントを再取得してください(または最低限、アカウントの削除、降格、パスワード変更時に無効化されるトークン ID(jti)をキーとする失効/セッションストアとの照合を行ってください)。

ツールをダウンロード