WordPressの一覧に戻る

脆弱性の詳細

Ninja Forms - Excel Export:ブラウザー上での不正な処理

WordPress プラグインCVE-2026-15161重要度:中悪用状況:未確認修正版:要確認

Ninja Forms - Excel Export プラグイン(WordPress 用)は、バージョン 3.3.6 までに保存されたクロスサイトスクリプティング(Stored XSS)の脆弱性があります。save_filter() AJAX ハンドラが $_POST['filter'] 配列をそのまま WordPress のオプションに update_option() で保存し、権限チェックや nonce 検証、入力サニタイズが行われません。その後、管理画面の Excel Export 画面で get_filter_row() が保存された filter の値(field_key、condition、value)を esc_attr() せずに HTML 属性へ直接結合するため、認証済みの攻撃者(サブスクライバー以上)が任意のウェブスクリプトを注入でき、ページを閲覧したユーザーのブラウザーでそのスクリプトが実行されます。

危険と対策

公式情報から自動作成した日本語解説・作成 2026/10/25 08:20 JST

どんな危険?

攻撃者がこの脆弱性を利用すると、被害者がページを開いたときに任意のスクリプトが実行され、ページ上で不正な操作が行われる可能性があります。

原文の抜粋 1

自分は対象?

  • 攻撃者は認証済みで、サブスクライバー以上の権限を持っている必要があります。

    公表された条件根拠 1原文の抜粋 1原文の抜粋 2
  • 対象プラグインは Ninja Forms - Excel Export のバージョン 3.3.6 までが該当します(構造化された対象表に記載)。

    公表された条件根拠 1原文の抜粋 3原文の抜粋 2
  • 脆弱性は save_filter() AJAX ハンドラが呼び出され、$_POST['filter'] 配列がサニタイズされずに保存される状況で発生します。

    公表された条件根拠 1原文の抜粋 1原文の抜粋 2
  • 管理画面の Excel Export 画面で get_filter_row() が保存された filter の値を HTML 属性に直接結合する際に esc_attr() が使用されていないことが前提です。

    公表された条件根拠 1原文の抜粋 1原文の抜粋 2
  • 公式の対象表:SaturdayDrive / Ninja Forms - Excel Export。影響ありとして記載:3.3.6以下の版。

    公表された条件根拠 1原文の抜粋 3
対象の版
Ninja Forms - Excel Export:3.3.6以下
修正版
このデータでは未確認。更新が提供されていない、という意味ではありません。

どうすればいい?

  1. 利用中の製品名・版と上の対象条件を管理担当者に伝え、この脆弱性に対応した修正の有無、適用する版・手順・実施日を確認してください。

    一般的な作業手順根拠 1原文の抜粋 3

この説明に出てくる言葉

言葉の一般的な意味です。この脆弱性で起きる被害や条件は、上の個別の説明を確認してください。

XSS
ページに紛れ込ませた不正な処理が、ページを表示した人のブラウザーで動く問題です。誰が仕込めるか、どの画面を表示すると動くかが判断のポイントです。用語の解説元
WordPressのnonce
画面や操作に対応する確認用の値です。意図しない操作を防ぐ助けになりますが、これだけで本人確認や操作権限の確認ができるわけではありません。用語の解説元

使っているバージョンの調べ方

  1. 管理担当者に、利用中の製品名・開発元・版やビルド番号を確認してもらいます。上に記載した対象の機能・設定・利用者の権限も、実際の環境と照合してください。

    一般的な作業手順根拠 1原文の抜粋 3
  2. WordPressの管理画面にログインし、「プラグイン」→「インストール済みプラグイン」を開きます。「Ninja Forms - Excel Export」と同じ製品名・開発元の項目を探し、表示されているバージョンを控えてください。停止中のプラグインも一覧に含めて確認します。

    一般的な作業手順根拠 7
  3. 管理画面に入れない、または同じ名前の製品を判別できない場合は、下の問い合わせ文をサイトの制作会社・管理担当者に送ってください。名前が見つからないという理由だけで、安全とは判定しないでください。

    一般的な作業手順根拠 8根拠 7

すぐに更新できないとき

  • 更新できない場合は、対象機能の停止や公開範囲の制限が使えるかを管理担当者と検討し、実施内容と更新予定日を記録してください。プラグインの「無効化」だけでこの脆弱性を防げるかは個別に確認が必要です。

    一般的な作業手順根拠 7根拠 2根拠 3根拠 4根拠 5

対応が終わったら確認すること

  1. 対応を依頼した場合は、実施した版・設定と完了日時、この脆弱性への修正が含まれると判断した根拠を担当者から受け取ってください。更新後は普段使う主要な操作も確認します。

    一般的な作業手順根拠 1原文の抜粋 3
  2. 更新後に同じ管理画面を開き直してバージョンを記録します。修正対象の系列・版と一致するかを照合し、サイト表示、ログイン、フォームや購入など普段使う主要な操作も確認してください。更新ボタンを押しただけでは完了としないでください。

    一般的な作業手順根拠 9根拠 10

まだ分からないこと・判断の限界

  • この解説は、利用中の機器・サイトの設定や修正の適用状況を検査した結果ではありません。製品名・版と上に示した条件を、実際の環境と照合してください。
  • 今回取得した資料から、修正済みと明記された版の番号を取り出せていません。修正が存在しないという意味ではありません。対象の製品・現在の版を添え、提供元に修正版の番号と適用方法を確認してください。

管理会社・担当者に聞くための確認メモ

自分で操作できない場合に使えます。コピー先で空欄を埋めて担当者へ送ってください。

この解説・手順の根拠

  1. CVE:Wordfence
  2. CVE公式レコード
  3. security@wordfence.com
  4. security@wordfence.com
  5. NVDの原文
  6. FIRST公式:CVSS 3.1の条件の定義
  7. WordPress公式:プラグイン一覧
  8. WordPress公式:サイトヘルスの情報
  9. WordPress公式:本体の更新
  10. WordPress公式:更新画面
  11. WordPress公式:プラグインの確認と更新

説明に対応する原文の抜粋

日本語の説明の根拠になった、取得済みの公式情報です。各抜粋を開くと、出典と元の文章を確認できます。

  1. 抜粋 1:raw.githubusercontent.com
    The Ninja Forms - Excel Export plugin for WordPress is vulnerable to Stored Cross-Site Scripting in versions up to, and including, 3.3.6. This is due to the save_filter() AJAX handler storing the raw $_POST['filter'] array into a WordPress option via update_option() without any capability check, nonce verification, or input sanitization, combined with the get_filter_row() method on the admin Excel Export screen concatenating the stored filter values (field_key, condition, value) directly into HTML attributes without esc_attr(). This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
    この抜粋の出典を開く

    取得元の項目:/containers/cna/descriptions/0/value / 言語:en

  2. 抜粋 2:raw.githubusercontent.com
    Ninja Forms - Excel Export <= 3.3.6 - Authenticated (Subscriber+) Stored Cross-Site Scripting via 'filter' Parameter
    この抜粋の出典を開く

    取得元の項目:/containers/cna/title / 言語:未指定

  3. 抜粋 3:raw.githubusercontent.com
    {"vendor":"SaturdayDrive","product":"Ninja Forms - Excel Export","versions":[{"version":"0","status":"affected","lessThanOrEqual":"3.3.6","versionType":"semver"}],"defaultStatus":"unaffected"}
    この抜粋の出典を開く

    取得元の項目:/containers/cna/affected/0 / 言語:未指定

悪用状況の「未確認」は、悪用されていないことを意味しません。対策は製品・バージョン・利用条件によって異なります。適用前に情報源とご自身の環境を確認してください。

情報の出典と更新日時

CVSS評価元:Wordfence。重要度は技術的な深刻度の目安であり、対応の順序は悪用状況や利用環境も含めて判断してください。

情報源ごとの取得日時

原典の更新日時と当サイトの取得日時は、情報源ごとに異なります。上の更新・取得日時は、それぞれの最新値です。

  • CVE原典の更新:2026/07/17 21:00 JST取得:2026/10/25 08:20 JST
  • NVD原典の更新:2026/10/25 05:10 JST取得:2026/10/25 08:17 JST
原文と条件を確認

The Ninja Forms - Excel Export plugin for WordPress is vulnerable to Stored Cross-Site Scripting in versions up to, and including, 3.3.6. This is due to the save_filter() AJAX handler storing the raw $_POST['filter'] array into a WordPress option via update_option() without any capability check, nonce verification, or input sanitization, combined with the get_filter_row() method on the admin Excel Export screen concatenating the stored filter values (field_key, condition, value) directly into HTML attributes without esc_attr(). This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

この情報をAIに渡す

この1件の対象・リスク・対策・出典を取得

JSONを見る

このサービスを共有

脆弱性を確認する入口を、チームや知り合いに。

Xで共有