WordPressの人気フォームビルダープラグイン「Ninja Forms」のFile Upload拡張機能に、CVSS スコア 9.8 という最高クラスの深刻な脆弱性が発見された。認証なしにサーバー上へ任意のファイルをアップロードできるこの欠陥は、すでに実際の攻撃に悪用されており、日本を含む世界中のWordPressサイト管理者にとって緊急対応が求められる事態となっている。
脆弱性の詳細:何が問題だったのか
今回の脆弱性(CVE-2026-0740)は、Ninja Forms File Upload バージョン 3.3.26 以前に存在する。問題の核心は、ファイルアップロード処理におけるファイル種別・拡張子の検証が完全に欠如していたことだ。
Wordfenceの研究者の解析によると、ファイルを移動する処理において、移動先ファイル名に対するファイルタイプや拡張子のチェックが一切実装されていなかったという。これにより、攻撃者は .php 拡張子を持つファイル——つまりPHPスクリプト——をそのままサーバー上にアップロードできてしまう。
さらに問題を深刻にしているのがパストラバーサル(Path Traversal)の組み合わせだ。ファイル名のサニタイズ処理も行われていないため、アップロード先のパスを操作してWebルートディレクトリにファイルを配置することすら可能になる。攻撃のシナリオを整理すると:
- 認証なしに悪意あるPHPスクリプトをアップロード
- パストラバーサルでWebからアクセス可能なディレクトリに配置
- そのURLにブラウザやcurlでアクセスするだけでリモートコード実行(RCE)が成立
この流れは教科書的なWebシェル設置攻撃そのものであり、成功した場合はサイトの完全乗っ取りにつながる。
発見から修正までのタイムライン
セキュリティ研究者のSélim Lanouar氏(whattheslime)が2026年1月8日にWordfenceのバグバウンティプログラムへ報告。同日のうちにベンダーへ詳細が開示され、Wordfenceはファイアウォールルールによる暫定的な保護をユーザーへ展開した。
2月10日に部分的な修正が行われ、最終的な完全修正版(バージョン 3.3.27)が3月19日にリリースされた。発見から修正まで約70日。速いとは言えないが、バグバウンティ経由での調整プロセスとしては標準的な範囲だろう。
深刻なのはその後だ。修正版が公開されてから2週間以上が経過しているにもかかわらず、Wordfenceは直近24時間だけで3,600件以上の攻撃をブロックしていると報告している。File Upload拡張機能の利用者は約9万件。更新が完了していないサイトが相当数残っていることが、これだけの攻撃頻度から見てとれる。
実務への影響:WordPress運用者が今すぐやるべきこと
即時対応(今日中に)
- Ninja Forms File Upload を使用している場合、バージョンを 3.3.27以上 に更新する
- 更新前後でファイルアップロード機能の動作確認を実施する
- サーバーのアクセスログを遡り、不審なPHPファイルへのPOSTリクエストがないか確認する
- アップロードディレクトリに
.php拡張子のファイルが存在しないか確認する
中期的な対策
WordPressのアップロードディレクトリには、PHPの実行を禁止する .htaccess を設置しておくことを強く推奨する。これは今回のような脆弱性が将来再発した際の多層防御(Defense in Depth)として機能する。
出典: この記事は Hackers exploit critical flaw in Ninja Forms WordPress plugin の内容をもとに、筆者の見解を加えて独自に執筆したものです。