mediumCVE-2026-15161

Ninja Forms - Excel Export <= 3.3.6 - Authenticated (Subscriber+) Stored Cross-Site Scripting via 'filter' Parameter

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.

Browse WordPress security risks
ProductNinja Forms - Excel Export
CVSS6.4
EPSS0.00156
UpdatedJuly 19, 2026

Quick answer

Ninja Forms - Excel Export should be reviewed and updated if it matches the affected versions. The recommended fix is to apply the vendor-supported patched version or the mitigation steps below, then retest the public website with Fixnx.

Who is affected

Affected versions

  • up to and including 3.3.6

Fixed versions

  • 3.3.7

How to fix it

Ninja Forms - Excel Export is affected by CVE-2026-15161, a stored cross-site scripting flaw in saved Excel export filters. A subscriber can store script that runs when an administrator opens the Excel Export screen. Update Ninja Forms - Excel Export to 3.3.7 or a newer vendor-supported patched release. Prioritize exposed production systems and accounts that can reach the affected feature.

  1. Inventory every Ninja Forms - Excel Export deployment, version, exposed endpoint, environment, and owner.
  2. Confirm the installed release is not an affected version up to and including 3.3.6.
  3. Update Ninja Forms - Excel Export to 3.3.7 or a newer vendor-supported patched release.
  4. Until the update is complete, disable the Excel Export add-on or restrict its filter-saving AJAX handler to trusted administrators.
  5. Review relevant logs and inspect saved export-filter options and subscriber POST requests for script or event-handler payloads.
  6. Remove injected filter values, revoke exposed administrator sessions, and review account or setting changes made after an affected screen was opened.
  7. Clear WordPress, object, page, CDN, and browser caches, then update the asset inventory and close any temporary controls only after validation.

Scan now. Google sign-in is only needed to unlock fix guidance.

Verify the fix

  • Confirm Ninja Forms - Excel Export is on the patched version or mitigation stated above and record the exact deployed version.
  • Save a harmless test filter and confirm script-like values are rejected or safely escaped on the admin export screen.
  • Confirm the affected WordPress REST, AJAX, form, shortcode, upload, export, or admin feature is available only to the roles and requests that need it.
  • Review logs after remediation for continued exploit attempts or signs that the issue was used before the fix.
  • Rerun the relevant dependency, platform, vendor, or Fixnx security check and document the result, affected assets, change record, and cleanup evidence for CVE-2026-15161.

Related categories

Related security risks

More published guidance from the same primary category.

Trusted references

FAQ

What is affected by CVE-2026-15161?

Ninja Forms - Excel Export versions listed as affected should be reviewed: up to and including 3.3.6.

What should I fix first?

Start with internet-facing sites, admin panels, login flows, plugins, themes, modules, packages, and systems that process user-controlled input or sensitive data.

How do I confirm the fix worked?

Apply the patched version or mitigation, clear caches where relevant, retest the affected workflow, and run a new Fixnx scan to verify public website exposure signals.

How are Fixnx security risk categories chosen?

Fixnx keeps one canonical risk page and assigns only broad, relevant categories such as ecosystem, technology area, or vulnerability class.