OWN NEWS GATHER
← 戻る
The Hacker News

WordPressプラグイン「Forminator」に深刻な脆弱性、悪意あるPHPのアップロードでサイト乗っ取りの恐れ

要点

  • WordPressの人気フォーム作成プラグイン「Forminator Forms」において、認証なしで悪意あるファイルをアップロードできる重大な脆弱性(CVE-2026-15748)が公表された。

  • 共通脆弱性評価システム(CVSS)のスコアは最高値に近い9.8と評価されており、悪用されるとサーバー上で任意のコードが実行され、Webサイト全体が乗っ取られる恐れがある。

  • 攻撃が成立するためには、フォーム内に「ファイルアップロード」と「選択肢(Select)」の両項目が配置されている必要がある。

  • あわせて、4万件以上のサイトで利用されている「User Profile Builder」でも、管理者権限を奪われる認証回避の脆弱性(CVE-2026-15826)が報告された。

  • いずれのプラグインもすでに修正版が公開されており、セキュリティ企業は利用者へ速やかなアップデートを呼びかけている。

  • 60万件以上の有効インストール数を誇るWordPressプラグイン「Forminator Forms」に、リモートコード実行(RCE:外部からサーバー上で不正なプログラムを実行させる攻撃)につながる深刻な脆弱性が存在することが明らかになった。WordPress向けセキュリティ企業のWordfenceが2026年8月17日に公開したレポートによると、本脆弱性は「CVE-2026-15748」として管理され、深刻度を示すCVSSスコアは10点満点中9.8と極めて高い。攻撃者に悪用された場合、Webサイトを完全に掌握される危険性があるという。

60万サイトに影響する「CVE-2026-15748」の概要

「Forminator Forms」は、Webサイト上で問い合わせフォームやアンケートを手軽に作成できる拡張機能だ。今回の欠陥は、セキュリティ研究者の「daroo」氏によって発見・報告された。

Wordfenceによると、この脆弱性はバージョン1.56.1以下のすべてのバージョンに存在する。ログインなどの認証を受けていない外部の攻撃者が、細工したフォーム送信を介してサーバーへ実行可能なPHPファイルなどをアップロードできる状態になっていた。これによりサーバー側で不正なプログラムを遠隔実行され、サイト全体の制御権を奪われる恐れがある。

ただし、攻撃が成功するためには一定の前提条件が必要となる。対象となるWebサイト上のフォームに、「ファイルアップロード項目(File Upload field)」と「セレクトボックス項目(Select field)」の双方が同時に配置されている場合にのみ、脆弱性の悪用が可能になると説明されている。

不十分な検証とカスタム保存先による悪用の仕組み

Wordfenceの解説によると、脆弱性の根本的な原因は、プラグイン内のファイル処理関数「handle_file_upload()」におけるファイルタイプの検証不備にある。

危険な拡張子を排除するブラックリスト判定が完全一致によるキー照合を行っていたため、パイプ記号を用いた代替MIMEタイプキーを指定することでチェックを回避できた。さらに、フォームの公開送信ハンドラーが、偽造されたセレクトフィールドの値を通じて注入されたアップロード設定をそのまま信頼してしまう仕様になっていたという。

また、実行に至る環境面での要因も指摘されている。通常、Forminatorのデフォルト設定では、アップロードされたファイルはPHPの直接実行を防ぐ「.htaccess」(Webサーバーの動作を制御する設定ファイル)で保護されたフォルダへ保存される。しかし、サイト管理者が「カスタムファイルアップロード保存ルート(Custom File Upload Storage root)」を設定している場合、この保護機構が働かない場合がある。

カスタム保存先ディレクトリは、フロントエンドからの初回リクエスト時に必要に応じて作成される仕様となっている。その際、.htaccessファイルを書き込むWordPressのヘルパー機能が読み込まれないため、保護ファイルが生成されない。その結果、アップロードされた悪意あるPHPファイルへ直接アクセスするだけで、Webサーバー上で攻撃者のコードが実行されてしまう状態になるという。

「User Profile Builder」でも管理者奪取の脆弱性

Wordfenceはあわせて、4万件以上の有効インストール数を持つユーザー管理プラグイン「User Profile Builder」においても、深刻な認証回避の脆弱性(CVE-2026-15826、CVSSスコア:9.8)が確認されたと報告している。

この問題は、プラグインの「自動ログイン(Automatically Log In)」機能が有効化されているサイトにおいて、未認証の攻撃者がユーザーID「1」(通常はサイトの初期管理者アカウント)としてログインし、サイト全体の管理権限を奪取できるというものだ。

原因は、ログイン処理を行う「wppb_log_in_user()」関数内で、ユーザー作成関数「wp_insert_user()」の戻り値に対してエラー確認関数「is_wp_error()」を実行する前に、絶対値の整数へ変換する「absint()」関数を呼び出していたことにある。

61文字から70文字のユーザー名で新規登録が送信されると、WordPressのコア機能はエラーを表すオブジェクト(WP_Error)を返す。しかし、absint()関数がこのオブジェクトを強制的に整数「1」へと変換してしまうため、エラー判定による処理の中断をすり抜けてしまう。その結果、プラグインはユーザーID 1に紐づいた自動ログイン用のトークン(nonce)を発行してしまい、攻撃者が管理者として不正ログインできてしまう状態になっていた。

修正バージョンの提供状況と対応

報告された脆弱性に対しては、すでに各開発元から修正版が公開されている。

  • Forminator Forms: 2026年7月31日にリリースされたバージョン「1.56.2」で修正済み
  • User Profile Builder: 2026年7月16日にリリースされたバージョン「3.16.5」で修正済み

Wordfenceは、これらのプラグインを導入しているWebサイトの管理者に対し、被害を未然に防ぐため直ちに最新バージョンへ更新し、環境を安全に保つよう強く推奨している。

元URL