WordPressプラグイン「Forminator Forms」に下書き改ざんの脆弱性(CVE-2026-97638)

CVSS 7.5 HIGH 未ログインで悪用可能

対象プラグイン Forminator Forms (Forminator Forms – Contact Form, Payment Form & Custom Form Builder)
有効インストール約 600,000 件
影響バージョン1.57.3.1 以下
修正版1.58.0
CVECVE-2026-97638
種類認証バイパス(Authorization Bypass Through User-Controlled Key)
悪用される確率(EPSS)0.56%(全脆弱性の上位 53%)
公表2026年10月31日 当サイト掲載: 2026年11月2日 12:20

何が起きるか

ログインしていない第三者が、他の利用者が途中保存したフォームの下書きを削除し、自分の入力内容で置き換えられる恐れがあります。対象は1.57.3.1以前のすべてのバージョンです。

想定される被害と条件

  • フォームの「後で続ける(下書き保存)」機能を使っている場合、利用者が保存した入力途中のデータが削除される
  • 削除された下書きが第三者の入力内容に置き換えられ、利用者が気付かずに改ざんされた内容で送信してしまう恐れがある
  • 被害は、第三者が下書きの識別情報(「後で続ける」リンクなど)を入手した場合に起きやすい(共有・転送されたリンク等)
  • 申込・問い合わせ内容の信頼性が損なわれ、業務上の誤対応や顧客とのトラブルにつながる可能性がある

今日やること

Forminator Forms を 1.58.0 以上に更新し、更新できない場合は停止・削除を検討してください。

すぐに更新できない場合

更新までの間、各フォームの設定で「下書き保存(Save and Continue / 後で続ける)」機能を無効にしてください。WAFを導入している場合は該当プラグイン向けの保護ルールを有効にしてください。

更新後に確認すること

  • 管理画面の「プラグイン」でForminatorのバージョンが1.58.0以上になっていることを確認する
  • Forminatorの「送信データ(Submissions)」画面で、心当たりのない内容や不自然な送信・下書きがないか確認する
  • 利用者から「保存した入力内容が消えた・変わっていた」という問い合わせがなかったか確認する
  • サーバーやセキュリティプラグインのアクセスログで、フォームへの短時間の大量送信など不審な記録がないか確認する

不審な投稿・ユーザー・ファイルが見つかった場合は、専門家への相談をおすすめします。

Forminator Forms の現在の情報 (WordPress.org、2026-11-02 取得)

最新版1.58.3 修正版を含む
対応 WordPress6.4 以上(検証済み 7.1.4)
最終更新2026-10-27 9:05am GMT
有効インストール600,000+
リンクWordPress.org のページ 公式サイト

技術的な詳細(修正差分の解析)

修正前後のコード(1.57.3.1 → 1.58.0)を WordPress.org から取得して差分を解析しました。特定の確度: 低。攻撃に使える手順は記載していません。

原因となった処理

  • フォーム送信処理(フロント側の送信・下書き保存ハンドラ。差分に含まれていないため推定)が、リクエストの 'previous_draft_id' パラメータを信頼していた。
  • 保存処理の中で、前回の下書きを削除・置換する際に、その下書きが現在の送信者のものかを確認していなかった。所有者確認がなく、ユーザーが指定したキーをそのまま使う IDOR(安全でない直接オブジェクト参照)の状態だった。
  • そのため、他人の draft_id を知っていれば、その下書きを削除でき、同じ識別子に新しい送信内容を保存できた。
  • ノンス検証はあったが、ノンスはフォームを表示するだけで誰でも取得できる。このため、未認証の第三者に対する認可チェックとしては機能していなかった。
  • draft_id は「後で続ける」リンクに含まれる。リンクを共有したり外部に漏れたりすると、識別子が第三者の手に渡り得る。
  • 提示された差分は Google Sheets 連携の OAuth state 追加(CSRF 対策)だけである。'previous_draft_id' を処理する修正箇所そのものは省略されており、原因の特定は公開説明に依存している。

被害が起きる前提条件

  • Forminator Forms 1.57.3.1 以前を使っている。
  • 「Save and Continue(後で続ける)」の下書き保存機能を有効にしたフォームを公開している。
  • 攻撃者が被害者の draft_id を入手している(共有された再開リンク、メール転送、ログやリファラ経由の漏えいなど)。
  • ログインは不要。フォームページを閲覧できれば誰でも条件を満たし得る。

修正版での変更

  • 1.58.0 では、'previous_draft_id' で指定した下書きが送信者のセッションやフォームと一致するかを確認するようになったと考えられる(該当差分は省略されており、公開説明からの推定)。
  • Google Sheets 連携では、OAuth 認可 URL に state パラメータを付けるようになった(forminator_integration_create_oauth_state)。コールバック時には forminator_integration_validate_oauth_state で state を検証し、不正な認可要求を拒否する。
  • OAuth のリダイレクトはリクエストごとのノンスを運べないため、section_requires_nonce を false にした。その代わりに、CSRF 対策を OAuth state に移している。
  • 運営者の対応:1.58.0 以降へ速やかに更新する。あわせて、共有済みの再開リンクの扱いを見直す。

主な修正ファイル: addons/pro/googlesheet/class-forminator-addon-googlesheet.php, library/modules/custom-forms/front/front-action.php(推定・差分未提示)

このプラグイン、自分のサイトにも入っている? URL を入れるだけの無料チェック →

原文(Wordfence Intelligence)

The Forminator Forms – Contact Form, Payment Form & Custom Form Builder plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 1.57.3.1 via the ‘previous_draft_id’ parameter due to missing validation on a user controlled key. This makes it possible for unauthenticated attackers to delete arbitrary saved drafts belonging to other users and take over those draft identifiers by overwriting them with attacker-controlled form submissions. This requires the attacker to have obtained a victim’s draft_id, which may be harvested from a shared “continue later” link; the nominally present nonce check is effectively bypassed because the nonce is publicly obtainable by any unauthenticated visitor loading a form page.

参考リンク

本ページの作成について: 上記の出典データをもとに、「何が起きるか」「今日やること」「更新後に確認すること」などの日本語解説は生成 AI が作成し、サイトの主治医が随時確認しています。誤りに気づかれた場合はお問い合わせください。

「Forminator Forms」の他の脆弱性

「Forminator Forms」の脆弱性一覧 →

最近公表された深刻度の高い脆弱性

脆弱性一覧 →

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次