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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-10818 — WPForms Pro <= 1.10.1.1 - チャンクアップロードのInit/Finalize順序による未認証の任意ファイル書き込み | Kitploit
ツール/GitHubGitHub/nxploited/cve-2026-10818
ペイロード生成脆弱性分析エクスプロイトウェブアプリケーション悪用情報収集ペネトレーションテスト
GitHubnxploited/cve-2026-10818

CVE-2026-10818

WPForms Pro <= 1.10.1.1 - チャンクアップロードのInit/Finalize順序による未認証の任意ファイル書き込み

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-10818

WPForms Pro <= 1.10.1.1 - チャンクアップロードのInit/Finalize順序に起因する未認証の任意ファイル書き込み

CVE CVSS CWE Python

CVE-2026-10818

WPForms Pro ≤ 1.10.1.1 — チャンクアップロードによる未認証の任意ファイル書き込み

概念実証(PoC)エクスプロイト
チャンクアップロードのInit/Finalize順序 → 予測可能なパス公開 → リモートコード実行


脆弱性の概要

項目詳細
CVE IDCVE-2026-10818
影響を受けるプラグインWPForms Pro (WordPress)
影響を受けるバージョン1.10.1.1 までの全バージョン
種別未認証の任意ファイル書き込み
CWECWE-434: Unrestricted Upload of File with Dangerous Type
CVSS 3.18.1 HIGH — CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
認証不要

WordPress用プラグインWPForms Proは、ajax_chunk_upload_finalize 関数を介して、1.10.1.1 までの全バージョンで任意ファイルアップロードの脆弱性の影響を受けます。これは、ファイルタイプの検証が、チャンクのメタデータとファイル内容がすでにディスクに書き込まれた後に実行され、さらに検証が失敗しても結合済みファイルが削除されないことが原因です。これにより、未認証の攻撃者が実行可能な可能性のあるファイルをアップロードできるため、リモートコード実行が可能になります。

根本原因

root@kitploit:~
wpforms_upload_chunk_init     →  Metadata created BEFORE extension validation
wpforms_upload_chunk          →  Chunk bytes written regardless of init result
wpforms_file_chunks_uploaded  →  File assembled BEFORE type validation
                              →  File persists on disk even when validation fails

この脆弱性チェーンは、チャンクアップロードのライフサイクルにおける重大な順序の欠陥を悪用します:

  1. Init は、ファイル拡張子が許可されているかどうかを確認する前に、ディスク上にメタデータを作成します
  2. Chunk はメタデータを読み込み、生のバイトを予測可能なパス(SHA1(UUID)-0.chunk)に書き込みます
  3. Finalize はMIMEタイプを検証する前に最終ファイルを組み立てます — ただし、失敗した場合のクリーンアップは行われません
  4. 3つのAJAXエンドポイントのいずれでもnonce検証は強制されません
  5. 3つのルートはすべて未認証の訪問者向けに登録されています(wp_ajax_nopriv_*)

特徴

  • マルチターゲットスキャン — ターゲットのリストを入力し、並行処理します
  • 自動フォーム検出 — ページ、サイトマップ、および100以上の一般的なパスをクロールして、WPFormsのアップロードフィールドを特定します
  • バージョン検出 — readme.txt とHTMLソースを読み取って、脆弱なWPFormsバージョンを特定します
  • AJAXルート検証 — 実行前に wpforms_upload_chunk_init が外部から到達可能であることを確認します
  • 二重アップロード戦略:
    • ファイナライズアップロード(init → chunk → finalize)— 安全な拡張子と実行可能な拡張子の両方を使用
    • チャンクのみのアップロード(init → chunk、finalizeをスキップ)— SHA1(UUID) による決定的なファイルパスを利用
  • 予測可能なパス計算 — SHA1(client-controlled UUID) を計算し、推測なしで正確なチャンクURLを導出します
  • ディレクトリ一覧の差分 — 実行ファイルアップロードの前後で /wpforms/tmp/ のスナップショットを取り、新しく書き込まれたファイルを特定します
  • ハッシュ漏洩の抽出 — すべてのレスポンスボディとヘッダーをスキャンし、<32hex>.<ext> のファイル名パターンを検出します
  • 実行検証 — レスポンスボディ内の一意のシグネチャを確認して実際のPHP実行を確認し、静的ファイル配信やソースコード開示を除外します
  • PATH_INFOプロービング — サーバーハンドラのバイパス(.chunk/x.php、/.php)を試行し、非PHP拡張子でのPHP実行を誘発します
  • ポリグロットペイロード — IENDチャンクの後にPHPを埋め込んだ有効なPNG画像を生成します
  • プロフェッショナルな出力 — ターゲットごとのステータス追跡を備えたリアルタイムのカラーコード化ターミナル表示

要件

root@kitploit:~
Python >= 3.8
root@kitploit:~
pip install requests urllib3 beautifulsoup4

beautifulsoup4 はオプションですが、より信頼性の高いフォームフィールド抽出のために推奨されます。


使用方法

root@kitploit:~
python CVE-2026-10818.py

次の項目を入力するよう求められます:

プロンプト説明デフォルト
ターゲットファイル1行に1ターゲットを含むテキストファイルのパスlist.txt
スレッド数同時ワーカー数(1〜20)5

ターゲットファイル形式

root@kitploit:~
https://example.com
http://target.org
subdomain.example.net
192.168.1.100
https://example.com/wordpress

1行に1つのURLを指定します。http://、https://、ベアドメイン、IP、サブディレクトリ配下のインストールに対応しています。


出力

ターミナル

root@kitploit:~
  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  ┃                                                                ┃
  ┃      ██▄    ██  ██  ██                                         ┃
  ┃      ████   ██   ████                                          ┃
  ┃      ██ ██  ██    ██                                           ┃
  ┃      ██  ████   ████                                           ┃
  ┃      ██   ███  ██  ██                                          ┃
  ┃                                                                ┃
  ┃      Nxploited  ━  Khaled Alenazi  ━  T.m @Kxploit             ┃
  ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
  ┃      CVE-2026-10818     WPForms Pro ≤ 1.10.1.1                 ┃
  ┃      Chunked Upload → Predictable Path → RCE                  ┃
  ┃      Results ━▸ Nx_hit/                                        ┃
  ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

スキャン中、各ターゲットはラベル付きステージを順に進行します:

root@kitploit:~
  02:14:52  ◆  target.com                        VER  WPForms 1.9.3.1 vulnerable
  02:14:53  ◆  target.com                       FORM  1 upload form(s) on /contact
  02:14:53  ◆  target.com                     UPLOAD  6 safe + 5 exec payloads
  02:14:55  ◆  target.com                        FIN  poly_png → a8f3...1b22.png URL returned
  02:14:57  ◆  target.com                        DIR  listing enabled, 4 file(s) before exec upload
  02:14:59  ◐  target.com                       EXEC  shell_php → finalized on disk (hash unknown)
  02:15:01  ◆  target.com                        DIR  1 NEW exec file(s) after upload!

  ●  target.com  SHELL  dir-new:7c4f...e8a1.php  https://target.com/wp-content/uploads/wpforms/tmp/7c4f...e8a1.php

結果ファイル

すべての結果は Nx_hit/ に保存されます:

ファイル内容
Nx_shell.txtRCE確定 — URL、ラベル、レスポンスボディのプレビュー
Nx_vuln.txt実行検証なしの任意ファイル書き込み確定

サマリー

root@kitploit:~
  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  ┃  COMPLETE   150 targets processed                              ┃
  ┃                                                                ┃
  ┃  ● 3 shell     ◐ 12 vuln     ○ 85 skip     ✗ 50 miss          ┃
  ┃                                                                ┃
  ┃  Results ━▸ Nx_hit/                                            ┃
  ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
記号意味
● shell

スキャンパイプライン

root@kitploit:~
Target
  │
  ├─ Reachability (HTTPS → HTTP fallback)
  ├─ WPForms Version Detection
  ├─ Form Discovery (100+ page paths + sitemap crawl)
  ├─ AJAX Route Validation
  │
  ├─ Phase 1: Safe Uploads (png/jpg/pdf + finalize → URL)
  │     └─ Shell verification on returned URLs
  │
  ├─ Phase 2: Directory Snapshot (BEFORE)
  │
  ├─ Phase 3: Exec Uploads (php/phtml/php5/phar/shtml + finalize)
  │     ├─ Leaked filename extraction from response
  │     └─ Hash pattern extraction from body + headers
  │
  ├─ Phase 4: Directory Snapshot (AFTER) → Diff → New exec files
  │     └─ Shell verification on each new file
  │
  ├─ Phase 5: Hash Leak Verification
  │     └─ Build URLs from leaked hashes → Shell check
  │
  ├─ Phase 6: Chunk-Only Uploads (no finalize → predictable SHA1 path)
  │     └─ Direct access + PATH_INFO bypass probing
  │
  └─ Result Classification (shell / vuln / skip / miss)

免責事項

このツールは認可されたセキュリティテストおよび教育目的の研究専用として提供されます。所有しているシステム、または明示的な書面によるテスト許可を得たシステムでのみ使用してください。

コンピュータシステムへの不正アクセスは違法です。作者は、本ソフトウェアの使用に起因する誤用、損害、または法的結果について一切の責任を負いません。

本ツールを使用することにより、利用者はご自身の行為に対して単独で責任を負い、適用されるすべての法律および規制を遵守することに同意したものとみなされます。


作者: Nxploited
Khaled Alenazi
T.m @Kxploit

ツールをダウンロード
リモートターゲット上でPHPの実行が確認された
◐ vulnファイルはディスクに書き込まれたが、実行は未確認
○ skipターゲットに到達不可、パッチ済み、またはアップロードフォームが見つからない
✗ missアップロード試行が失敗