CVE-2026-87870: Ninja Forms - Scheduled Exports <= 3.0.3 - Authenticated (Subscriber+) Stored Cross-Site Scripting via REST API Parameters
The Ninja Forms - Scheduled Exports plugin for WordPress is vulnerable to Stored Cross-Site Scripting via REST API Parameters (interval, format, emailTo) in all versions up to, and including, 3.0.3 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with subscriber-level privileges and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The REST endpoint is registered without a permissioncallback and only validates a nonce without checking user capabilities.
Affected Software
Event History
Frequently Asked Questions
Which users can exploit this issue?
Any authenticated WordPress user with Subscriber-level privileges or higher can exploit it. The affected REST endpoint checks only for a nonce and does not enforce user capability checks.
Are installations affected by default?
The issue affects all plugin versions through 3.0.3 when an authenticated user can obtain and submit a valid nonce to the REST endpoint. No additional capability beyond Subscriber is required.
What must happen for the injected script to run?
An attacker must submit malicious script content through the interval, format, or emailTo REST API parameters. The stored script executes when a user accesses a page containing the injected content.
How can administrators reduce exposure before updating?
Restrict or remove Subscriber and other untrusted authenticated accounts, since those accounts can reach the vulnerable endpoint. Review scheduled export settings and related stored data for unexpected values in the interval, format, or emailTo fields.