Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-27886-check — StrapiインスタンスがCVE-2026-27886(認証なしのブール型オラクルによる管理者シークレットの不正流出)に対して脆弱かどうかを検出します。 | Kitploit
ツール/GitHubGitHub/bishopfox/cve-2026-27886-check
偵察脆弱性分析エクスプロイトウェブアプリケーション悪用情報収集ペネトレーションテスト
GitHubbishopfox/cve-2026-27886-check

CVE-2026-27886-check

StrapiインスタンスがCVE-2026-27886(認証なしのブール型オラクルによる管理者シークレットの不正流出)に対して脆弱かどうかを検出します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-27886 脆弱性評価ツール

完全なアカウント乗っ取りチェーンを実行することなく、Strapi インスタンスが CVE-2026-27886 に対して脆弱かどうかを安全に検出します。Bishop Fox ブログの完全な記事を参照してください。

説明

CVE-2026-27886 は、Strapi バージョン 4.0.0 から 5.36.1 における、認証されていないパラメータサニタイゼーションのバイパスです。これにより、リモートの未認証攻撃者がパブリック Content API を通じて管理者の秘密情報を漏洩させることができます。フレームワークの @strapi/utils 内のクエリサニタイザは、文書化された filters、sort、fields、populate クエリキーのみを処理し、リクエスト内のその他のトップレベルキーをすべて静かに保持します。未知のキーは transformQueryParams を通じて転送され、SQL の WHERE 句として strapi.db.query(...) に到達します。任意のパブリック Content API コレクションに対して where[updatedBy][resetPasswordToken][$startsWith]=<prefix> をプローブすることで、攻撃者は応答の meta.pagination.total フィールドを通じて管理者の秘密情報を 1 文字ずつ漏洩させることができます。

このツールは、以下の方法で非破壊的な脆弱性テストを実行します。

  1. 基準となる GET /api/<collection> を送信
  2. 同じ GET に ?where[id][$lt]=-1 を追加して送信
  3. 2 つの meta.pagination.total 値を比較し、where 句がデータベース層に到達したかどうかを判定

where[id][$lt]=-1 の述語は実際の行には一致しないため、データベース層で句が尊重されると、応答はゼロ行に縮小します。パッチが適用されている場合、未知の where キーはクエリが構築される前にサニタイザの許可リストによって削除され、応答はベースラインと同じになります。このプローブはプライベート管理者カラムに触れることはなく、データを変更することもありません。

  • 脆弱なサーバ は異なる合計を返します: ベースラインは少なくとも 1 行を返すのに対し、述語リクエストはゼロを返します。これは where 句がデータベース層で尊重されたためです。
  • パッチ適用済みサーバ (Strapi 5.37.0 以降) は両方のリクエストで同一の合計を返します。sanitizeQuery が認識されないトップレベルキーをデータベースに到達する前に削除するためです。
  • Strapi 以外のサーバ、到達不能なエンドポイント、または空のコレクション は INCONCLUSIVE 結果を報告します。

脆弱なサーバでは、ツールは where[updatedBy][email][$startsWith]=<prefix> を使用して管理者のメールアドレスを 1 文字ずつ列挙します。管理者アカウントの乗っ取りにはチェーンしません。

インストール

root@kitploit:~
git clone https://github.com/BishopFox/CVE-2026-27886-check
cd CVE-2026-27886-check

外部依存関係はありません。スキャナは Python 標準ライブラリモジュールのみを使用します。

使用方法

Strapi サーバのパブリック Content API コレクションエンドポイントをテストします。Strapi はコンテンツタイプの pluralName を URL パスにマッピングするため、正確な名前はデプロイメントによって異なります。

root@kitploit:~
python3 CVE-2026-27886-check.py <ENDPOINT>

例: 脆弱なサーバ

root@kitploit:~
$ python3 CVE-2026-27886-check.py http://target.example.com/api/articles
[+] Target: http://target.example.com/api/articles
[+] Differential confirmed: baseline total=1, where-test total=0 -> VULNERABLE
[+] Enumerating admin email
    admin email = [email protected]
[+] Done. To remediate, upgrade to Strapi 5.37.0 or later.

例: パッチ適用済みサーバ

root@kitploit:~
$ python3 CVE-2026-27886-check.py http://target.example.com/api/articles
[+] Target: http://target.example.com/api/articles
[+] Differential check: baseline total=1, where-test total=1 -> NOT VULNERABLE

前提条件

このツールは、以下の条件が満たされている場合にのみ脆弱性を検出できます。

  • ターゲットが Strapi 4.0.0 から 5.36.1 を実行している
  • パブリックロールが少なくとも 1 つのコンテンツタイプに対して find を許可されている
  • そのコンテンツタイプの少なくとも 1 行に NULL ではない updated_by_id がある
  • ターゲットコレクションの URL に到達可能である

いずれかの条件が満たされない場合、ツールは INCONCLUSIVE 結果を報告します。

ライセンス

このコードは MIT ライセンス の下で配布されています。

法的免責事項

事前の相互同意なしにターゲットを攻撃するためのこのツールの使用は違法です。適用されるすべての地方、州、連邦法に従うことはエンドユーザーの責任です。開発者は一切の責任を負わず、このプログラムによって引き起こされた誤用や損害について責任を負いません。

関連情報

  • Strapi セキュリティアドバイザリ GHSA-rjg2-95x7-8qmx
  • Bishop Fox ブログ: 完全な技術分析
  • NVD — CVE-2026-27886
ツールをダウンロード