WordPress の人気ページビルダー Elementor Pro に、未認証の攻撃者が任意の PHP ファイルを設置してサーバー上でコードを実行できる深刻な脆弱性 CVE-2026-32475(CVSS 9.0)が公開されました。修正版 4.2.2 が 2026 年 8 月 19 日にリリースされています。
この記事は、Elementor / Elementor Pro でサイトを運用している Web 担当者・制作会社向けに、**「自分のサイトが影響を受けるかの確認」→「安全な更新」→「侵害有無のチェック」→「多層防御の追加設定」**までを、コピペで使えるコマンド付きで 15 分でひととおり終えられるようにまとめたものです。攻撃の再現手順は扱いません(再発防止の観点で書いています)。
何が起きたのか(3行まとめ)
- Elementor Pro の フォーム(Forms)ウィジェットのファイルアップロード欄の処理に不備があり、拡張子チェックをすり抜けて
.phpファイルをアップロードできる。 - アップロードされた PHP は
wp-content/uploads/elementor/forms/配下に置かれ、そのまま実行されるとサイトを乗っ取られる(RCE)。 - **ログイン不要(未認証)**で成立するため、フォームにファイルアップロード欄が 1 つでも公開されていれば標的になり得る。
脆弱性の概要
| 項目 | 内容 |
|---|---|
| CVE | CVE-2026-32475 |
| 深刻度 | CVSS 9.0(Critical) |
| 対象 | Elementor Pro 4.2.1 以前のすべてのバージョン |
| 修正版 | 4.2.2(2026-08-19 リリース) |
| 影響 | 未認証リモートコード実行(RCE) |
| 成立条件 | ファイルアップロード欄を含むフォームが公開されていること |
| 認証 | 不要(未認証) |
無料版の Elementor(Pro でない本体) はこの脆弱性の対象外です。フォームウィジェットは Pro の機能のため、影響を受けるのは Elementor Pro を導入したサイトです。
Step 1: 自分のサイトのバージョンを確認する
まず動いている Elementor Pro のバージョンを確認します。管理画面なら「プラグイン」一覧、または WP-CLI が使えるサーバーなら次の 1 行で確認できます。
# インストール済みプラグインのバージョンと更新有無を一覧
wp plugin list --fields=name,status,version,update
# Elementor 系だけ絞り込む
wp plugin list --fields=name,status,version,update | grep -i elementor
elementor-pro の version が 4.2.1 以下なら影響対象です。update 列が available になっていれば更新が来ています。
管理画面で確認する場合は ダッシュボード → プラグイン → インストール済みプラグインで「Elementor Pro」のバージョン表記を見てください。
Step 2: 4.2.2 以降へ更新する(最優先)
最優先の対策は更新です。 ステージング環境がある場合はそちらで先に確認してから本番へ反映してください。
# 更新前に必ずバックアップ(DB + wp-content)
wp db export backup-$(date +%Y%m%d).sql
tar czf wp-content-$(date +%Y%m%d).tar.gz wp-content
# Elementor Pro を最新へ更新
wp plugin update elementor-pro
# 更新後にバージョンを再確認(4.2.2 以上になっていること)
wp plugin get elementor-pro --field=version
WP-CLI が使えない環境では、管理画面のプラグイン一覧から「更新」を実行します。Elementor Pro は正規ライセンスがないと自動更新の通知が出ないことがあるため、**ライセンスが有効か(Elementor → ライセンス)**も併せて確認してください。ライセンス切れで更新が降ってこないケースが実務では多くあります。
Step 3: すでに侵害されていないかチェックする
未認証で悪用できる脆弱性は、パッチ公開前後に自動化された探索が走る傾向があります。更新が済んでも、それ以前に設置された不正ファイル(Web シェル)が残っていないかを確認しておくと安全です。
アップロード先ディレクトリに 本来あってはならない .php ファイルがないかを探します。
# forms のアップロード先に PHP が置かれていないか(正常時は 0 件)
find wp-content/uploads/elementor/forms/ -type f -name "*.php" 2>/dev/null
# uploads 配下全体で PHP を洗い出す(画像フォルダに PHP は通常あり得ない)
find wp-content/uploads/ -type f -name "*.php"
# 直近に作成・変更されたファイルを新しい順に確認(不審な最近の書き込みを発見)
find wp-content/uploads/ -type f -mtime -14 -printf '%TY-%Tm-%Td %p\n' | sort
.php が検出された場合は、すぐ削除せずまず退避(コピー)して内容と作成日時を記録し、他への侵入痕跡(管理者アカウントの追加・wp-config.php の改変・不審な cron)がないかを確認したうえで対処してください。判断に迷う規模であれば、バックアップからのクリーンな復元が確実です。
# 想定外の管理者アカウントが増えていないか
wp user list --role=administrator --fields=ID,user_login,user_email,user_registered
Step 4: 多層防御 ── uploads 配下で PHP を実行させない
更新は大前提ですが、**「アップロードされた PHP をそもそも実行させない」**設定を入れておくと、同種の別プラグイン脆弱性が出ても被害を抑えられます。画像や PDF の保存先である uploads で PHP が動く必要は基本的にありません。
nginx の場合(サイトの server {} 内に追加):
# uploads 配下の .php へのアクセスをすべて拒否(実行させない)
location ~* /wp-content/uploads/.*\.php$ {
deny all;
return 403;
}
Apache の場合(wp-content/uploads/.htaccess として設置):
# uploads 配下での PHP 実行を全面停止
<FilesMatch "\.(?i:php|phtml|php3|php4|php5|php7|phps)$">
Require all denied
</FilesMatch>
あわせて、wp-config.php に以下を追記しておくと、管理画面からのプラグイン/テーマファイル編集という侵害後の常套手段を塞げます。
// 管理画面のコードエディタを無効化(改ざんの足場を減らす)
define( 'DISALLOW_FILE_EDIT', true );
ファイル権限そのものの締め方は別記事にまとめています(後述の関連記事を参照)。
Step 5: 更新できない事情がある場合の一時緩和
すぐに更新できない事情がある場合のあくまで一時的な緩和策です。恒久対策は更新であることを前提にしてください。
- 該当ページのフォームからファイルアップロード欄を一時的に外す(公開中のフォームに 1 つでもアップロード欄があると条件が成立するため)。
- Step 4 の uploads 配下 PHP 実行停止を必ず入れておく。
- WAF を導入している場合は、
elementor/forms宛のファイルアップロードに対する検査ルールを有効化する。
これらは「時間を稼ぐ」ための措置であり、脆弱性そのものは残ります。計画的にできるだけ早く 4.2.2 以降へ更新してください。
まとめ
- CVE-2026-32475 は Elementor Pro 4.2.1 以前を狙う未認証 RCE(CVSS 9.0)。フォームにファイルアップロード欄があるサイトが対象。
- 対策の芯は 4.2.2 以降への更新。更新前にバックアップ、更新後にバージョンと侵害痕跡を確認する。
- uploads 配下で PHP を実行させない設定を入れておけば、同種の別脆弱性にも効く多層防御になる。
同じ「アップロード経由の乗っ取り」を繰り返さないための考え方(検証の多層化・PHP 実行の遮断・権限設計)は、下記の関連記事にコピペ設定つきでまとめています。
関連記事
出典
- CVE-2026-32475(CVE.org): https://www.cve.org/CVERecord?id=CVE-2026-32475
- NVD 詳細情報: https://nvd.nist.gov/vuln/detail/CVE-2026-32475
- Patchstack アドバイザリ(Critical Unauthenticated File Upload to RCE in Elementor Pro Plugin): https://patchstack.com/articles/critical-unauthenticated-file-upload-to-rce-in-elementor-pro-plugin/
本記事のような設定の抜けは、Web サイトを 9 つの守りでまるごと守るサイトドックでまとめて対策できます → https://sitedock.jp