Description
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.
Published: 2026-07-17
Score: 6.4 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Ninja Forms – Excel Export plugin stores the submitted filter array directly into a WordPress option without checking user capabilities, verifying a nonce, or sanitizing the data. When that data is later included in HTML attributes on an admin page, it allows an attacker who is logged in with a subscriber‑level account or higher to inject arbitrary JavaScript. The injected scripts execute whenever a user opens the affected admin page, resulting in a stored cross‑site scripting vulnerability (CWE‑79).

Affected Systems

Any WordPress installation that has the Ninja Forms – Excel Export plugin version 3.3.6 or earlier installed is affected. The flaw originates in the save_filter() AJAX handler and the get_filter_row() rendering code; therefore, all sites using this plugin and permitting subscriber‑level access to the plugin’s admin screens are potentially vulnerable.

Risk and Exploitability

The CVSS base score of 6.4 categorizes this as a medium‑severity flaw. The EPSS score is reported as less than 1 %, indicating that exploitation is currently unlikely. It is not listed in the CISA KEV catalog. Attackers must be authenticated with at least subscriber privileges and have access to the plugin’s admin interface to craft a malicious filter. Once the malicious filter is stored, it is immediately available for abuse whenever any user displays the relevant admin page.

Generated by OpenCVE AI on July 31, 2026 at 00:39 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Ninja Forms – Excel Export to a version newer than 3.3.6, as the issue is fixed in later releases.
  • Restrict subscriber‑level users from accessing the plugin’s admin pages until a patch is applied or temporarily disable the plugin’s Ajax handler for non‑administrator roles.
  • If an update is not immediately available, modify the plugin code to verify user capabilities and a valid nonce before storing filter data, and escape all filter values with esc_attr() or a similar sanitization routine prior to rendering them in HTML attributes.

Generated by OpenCVE AI on July 31, 2026 at 00:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 05 Aug 2026 10:45:00 +0000

Type Values Removed Values Added
First Time appeared Saturdaydrive
Saturdaydrive ninja Forms - Excel Export
Wordpress
Wordpress wordpress
Vendors & Products Saturdaydrive
Saturdaydrive ninja Forms - Excel Export
Wordpress
Wordpress wordpress

Fri, 17 Jul 2026 12:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 17 Jul 2026 05:00:00 +0000

Type Values Removed Values Added
Description 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.
Title Ninja Forms - Excel Export <= 3.3.6 - Authenticated (Subscriber+) Stored Cross-Site Scripting via 'filter' Parameter
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 6.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N'}


Subscriptions

Saturdaydrive Ninja Forms - Excel Export
Wordpress Wordpress
cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-07-17T12:00:30.287Z

Reserved: 2026-07-08T20:24:07.379Z

Link: CVE-2026-15161

cve-icon Vulnrichment

Updated: 2026-07-17T12:00:26.257Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T10:22:40Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')