CVE-2026-11363
MediumCVSS 6.6Exploitation Probability (EPSS)
Elevated risk50th percentile - higher than 50% of all known CVEs
Summary
The Ninja Forms plugin for WordPress is vulnerable to PHP Object Injection in all versions up to 3.14.6 via deserialization of untrusted input. Authenticated attackers with administrator access can inject a PHP object. No known POP chain exists, but if another plugin or theme provides one, it may allow file deletion, data theft, or code execution.
Risk Assessment
The risk involves potential remote code execution or other malicious actions if an additional plugin or theme with a POP chain is installed.
Recommendation
Update the plugin to the latest version, restrict administrator permissions, and monitor installed plugins/themes for POP chains.
Other vulnerabilities in Ninja Forms
See all- CVE-2026-65049Critical
The Ninja Forms plugin version 3.14.8 and prior for WordPress Multisite contains an incorrect authorization vulnerability that allows a subsite Administrator to trigger network-wide deletion of all Ninja Forms data. Attackers can send a crafted POST request to the admin-ajax.php endpoint with the nf_delete_all_data action and a per-site nonce to invoke migration routines that unconditionally iterate all blogs via switch_to_blog(), dropping all nf3_* tables and clearing options and transients across every subsite in the network without requiring super-admin or network-admin privileges.
- CVE-2026-65048Critical
The Ninja Forms plugin for WordPress versions 3.10.4 through 3.14.9 contains an unauthenticated stored cross-site scripting vulnerability in the Repeatable Fieldset feature. The parseSubmissionIndex() function accepts arbitrary strings as submission indexes without numeric validation, and admin_form_element() interpolates the index directly into HTML without escaping. An unauthenticated attacker can submit a public form with a crafted repeater child key containing malicious script payloads, which execute in an administrator's browser when viewing submissions in the WordPress admin panel.
- CVE-2019-10869High
The Ninja Forms plugin for WordPress before version 3.0.23 (when the Uploads add-on is activated) contains path traversal and unrestricted file upload vulnerabilities. This allows an attacker to traverse the file system to access files and execute code via the name and tmp_name parameters in includes/fields/upload.php.
- CVE-2026-19769High
The Ninja Forms – The Contact Form Builder That Grows With You plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Repeater Child 'type' Confusion via Unmatched Array Key in all versions up to, and including, 3.15.1 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. Exploitation requires the Ninja Forms File Uploads add-on to be active, as the attack routes the unwhitelisted child entry through the File Uploads handler to write an attacker-supplied HTML file containing arbitrary JavaScript into any web-server-writable directory, including the site root, where it is served from the site's own origin.
- CVE-2026-80438Medium
The Ninja Forms WordPress plugin before version 3.15.2 does not restrict its REST abilities to administrators, treating a plugin-specific capability as equivalent to full site administration. This allows any user granted that capability to read settings and stored submissions, overwrite configuration, and create or modify arbitrary posts and pages.
- CVE-2026-15256Medium
The Ninja Forms WordPress plugin before 3.14.10 does not prevent user-supplied query-string input, used to pre-populate a form field's default value, from being processed as a shortcode, allowing unauthenticated attackers to execute arbitrary shortcodes registered on the site when a form so configured is embedded on a public page.
- CVE-2026-15663Medium
The Ninja Forms plugin for WordPress is vulnerable to generic SQL injection via import files. An authenticated attacker with admin privileges can append SQL queries to existing ones to extract sensitive data from the database.
- CVE-2026-65052High
Ninja Forms WordPress plugin version 3.14.8 and earlier contains an improper input validation vulnerability. Unauthenticated attackers can inject arbitrary numeric values into form calculations and payment totals by submitting values that do not match any configured option in ListSelect or ListRadio fields. This can lead to manipulation of payment amounts, including setting them to zero.
- CVE-2026-65051Medium
Vulnerability in the Ninja Forms WordPress plugin version 3.14.8 allows unauthenticated attackers to bypass form validation by merging attacker-controlled field metadata before validation. Attackers can send a malicious AJAX request, overriding field types, removing required flags, and disabling CAPTCHA.
- CVE-2026-65050Medium
Vulnerability in the Ninja Forms WordPress plugin version 3.14.8 and earlier. Missing authorization in the Gutenberg block 'ninja-forms/submissions-table' allows authenticated attackers with Author role to expose stored form submissions (including PII) to unauthenticated visitors.
Original NVD description (English source)
The Ninja Forms – The Contact Form Builder That Grows With You plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 3.14.6 via deserialization of untrusted input . This makes it possible for authenticated attackers, with administrator-level access and above, to inject a PHP Object. No known POP chain is present in the vulnerable software, which means this vulnerability has no impact unless another plugin or theme containing a POP chain is installed on the site. If a POP chain is present via an additional plugin or theme installed on the target system, it may allow the attacker to perform actions like delete arbitrary files, retrieve sensitive data, or execute code depending on the POP chain present. The deserialization is triggered automatically during form import when WPN_Helper::build_nf_cache() invokes $action->get_settings() immediately after the crafted form is imported, requiring no further interaction beyond the import action itself.

