TrustBrain

お問い合わせフォームや計算フォーム、アンケートなどを作成できるプラグイン「Ninja Forms – Contact Form Builder with Calculators, Quizzes, Signatures & AI Form Builder」において、セキュリティ上の問題が確認されました。影響を受けるのは、バージョン 3.15.5 までのすべてのバージョンです。

本脆弱性を悪用された場合、ログインしていない第三者がフォームから送信したデータを通じて、サイト管理者のブラウザ上で不正なスクリプトが実行される可能性があります。

対策として、バージョン 3.15.6 以降への更新を推奨します。

本脆弱性は、管理画面で送信データを1件ずつ開く画面(送信データの編集画面)のうち、計算結果を表示する「Calculations」欄に存在します。フォームを送信できる人であれば誰でも、この欄に表示される値を外部から書き込める状態でした。

この脆弱性が悪用された場合、以下のような被害が想定されます。

管理者への攻撃(蓄積型XSS)

蓄積型XSSとは、サイト内に保存された不正なスクリプトが、後から閲覧した人のブラウザで実行される攻撃です。

  • スクリプトは管理者としてログインした状態で実行されるため、管理者ユーザーの追加や設定の変更など、管理者が行える操作を不正に行われるおそれがあります。
  • サイトを訪れる一般の閲覧者の画面で、スクリプトが実行されることはありません。

被害発生の条件

以下の条件がすべてそろった場合に、被害が発生する可能性があります。

  • 計算式(Calculations)を設定していないフォームを公開している
  • フォームに送信データを保存する設定(Record Submission アクション)がある
  • 管理者が、不正なデータを含む送信データの編集画面を開く

送信データに付随する「追加情報」の仕組み

  • フォームの送信時には、入力内容のほかに「追加情報(extra)」と呼ばれるデータが一緒に送られ、送信データの一部として保存されます。
  • 計算結果(calculations)もこの追加情報の一つで、本来はサーバー側で計算して保存する値です。

問題点

  • 計算結果の欄は、利用者から送られた値を受け付けないよう、同じ名前のデータを取り除く処理がありました。しかし、この処理はデータの名前(キー)が完全に一致する場合にしか働きませんでした。
  • WordPressはデータを保存する際、名前に含まれる一部の記号を自動的に取り除きます。そのため、記号を加えて名前を少し変えたデータは除去処理をすり抜け、保存の段階で「計算結果」として扱われていました。
  • 計算式を設定していないフォームでは、サーバー側で計算結果が作られないため、送り込まれた値がそのまま残ります。
  • 送信データの編集画面では、計算結果の項目名を無害化(エスケープ:記号を単なる文字として表示させる処理)せずにHTMLへ出力していたため、項目名に含めたスクリプトが実行される状態になっていました。
  • なお、フォーム送信時の確認用の値(nonce:正規の手順による送信かを確かめる使い捨ての値)は、誰でも取得できる仕組みのため、この攻撃を防ぐ役割は果たしていませんでした。

悪用の大まかな流れ

  1. 公開されているフォームに対し、名前を細工した追加情報にスクリプトを含めて送信する
  2. その内容が「計算結果」として送信データに保存される
  3. 管理者がその送信データの編集画面を開くと、スクリプトが実行される

(模倣防止のため詳細は伏せています)

対策版での修正

  • 利用者から送られた追加情報のうち、計算結果などサーバー側が作るべきデータを、保存時に記号が取り除かれることを考慮したうえで確実に取り除く処理を追加
  • 計算結果の項目名を、画面に表示する前に無害化する処理を追加

該当バージョンのプラグインをご利用の場合、以下の対応を強く推奨します。

  1. プラグインの更新
    • 速やかに、プラグインを対策バージョン(3.15.6 以降)へ更新してください。
    • すぐに更新できない場合は、更新までの間、送信データの編集画面(Edit Submission)は開かないでください。
  2. 被害確認(プラグインの更新後に行ってください)
    • 管理画面の「Ninja Forms」→「Submissions(送信)」から、計算式を設定していないフォームの送信データを開き、「Calculations(計算結果)」欄が表示されていないか確認してください。計算式のないフォームにこの欄があれば、外部から送り込まれたデータの可能性があります。
    • あわせて、計算結果の項目名に「<」「script」「onerror=」など、通常の項目名には使わない文字列が含まれていないか確認してください。
    • 該当する送信データが見つかった場合は、ゴミ箱へ移動してください。また、管理画面の「ユーザー」メニューで、身に覚えのない管理者ユーザーが追加されていないか確認してください。
  3. セキュリティ対策の強化(任意)
    • WAF(Web Application Firewall:不正な通信を検知・遮断する仕組み)を導入していれば、フォームからスクリプトを送り込む通信の遮断に有効です。ただし、WAFですべての攻撃を確実に防げるわけではないため、根本的な対策となるプラグインの更新を優先してください。

⇒ 不審な送信データや、身に覚えのない管理者ユーザーなどが確認された場合は、WordPressの専門家への相談を推奨します。

Ninja Forms – Contact Form Builder with Calculators, Quizzes, Signatures & AI Form Builder 3.15.5 までのバージョン

CVE-2026-109997
(公開日 2026年10月31日 更新日 2026年10月31日)

基本値: 7.2 (重要)   [Wordfence]

CVE-2026-109997 悪用確率 0.44% (上位62%) 2026年10月31日時点 

(今後30日以内に悪用される確率 )

ソフトウェア脆弱性情報の著作権に関する注意事項

This record contains material that is subject to copyright.

Copyright 2012-2026 Defiant Inc.

License: Defiant hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute this software vulnerability information. Any copy of the software vulnerability information you make for such purposes is authorized provided that you include a hyperlink to this vulnerability record and reproduce Defiant’s copyright designation and this license in any such copy. Read more.

Copyright 1999-2026 The MITRE Corporation

License: CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE’s copyright designation and this license in any such copy. Read more.

「Support」、「Technical」、「Customer」、「Service」の文字 と 技術的なWordPress顧客サポート

WordPress運用保守

さらに詳しく

Ninja Forms プラグインをご利用中のお客様には、対策バージョンへの更新状況および推奨対応事項について、順次メールにてご案内しております。

WordPress プラグイン Ninja Forms 情報 (2026年11月1日 取得)

最新版 バージョン 3.15.7
対象 WordPress バージョン 6.9 またはそれ以降
検証済み最新バージョン : 7.1.4
有効インストール数 500,000+
関連 ページ プラグインページ ホームページ

本記事は、対象プラグインの公開ソースコードおよびバージョン間の差分を解析し、その結果に基づいて作成しています。
解析および文章作成の過程では生成AIを利用し、内容は当社の担当者が確認したうえで公開しています。