CVEskstoverCVE-2026-109997Published Oct 31, 05:33 · Updated Nov 1, 17:44 UTC
7.2
HighCVSS 3.1 · from Wordfence
CVE-2026-109997

Ninja Forms <= 3.15.5 - Unauthenticated Stored Cross-Site Scripting via 'extra' Parameter via Metadata Key Normalization

Ninja Forms – Contact Form Builder with Calculators, Quizzes, Signatures & AI Form Builder · Cross-site scripting · CWE-79
AffectedNinja Forms – Contact Form Builder with Calculators, Quizzes, Signatures & AI Form Builder
FixNo fix listed yet.
PublishedOct 31, 05:33 · Wordfence
ScoredOct 31 · 7.2 · Wordfence
Exploit code publicNone known · checked 21:18 UTC
ExploitedNone known · CISA KEV checked 22:07 UTC

What we know

No known exploitation. CISA KEV, checked 22:07 UTC.
No public exploit code known. Exploit-DB, Metasploit, Nuclei, checked 21:18 UTC.
An attacker only needs network access to the target. No login needed. CVSS: network, no privileges.

Description

The Ninja Forms – Contact Form Builder with Calculators, Quizzes, Signatures & AI Form Builder plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'formData.extra' parameter in all versions up to, and including, 3.15.5 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. The nf_ajax_submit endpoint issues a valid nonce to any requester on failure, effectively neutralizing the nonce check and making exploitation trivially achievable in a single unauthenticated request.

From Wordfence

Affected and fixed versions

ProductAffectedFixed inNinja Forms – Contact Form Builder with Calculators, Quizzes, Signatures & AI Form Builderup to 3.15.5–

Exploit code

Exploit-DBnone knownMetasploitnone knownNucleinone known

References

www.wordfence.com/threat-intel/vulnerabilities/id/54da4deb-e50c-478d-ab99-222c5573a036?source=cve · wordfence.complugins.trac.wordpress.org/browser/ninja-forms/tags/3.15.5/includes/Templates/admin-metaboxes-calcs.html.php#L4 · plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/ninja-forms/tags/3.15.5/includes/AJAX/Controllers/Submission.php#L52 · plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/ninja-forms/tags/3.15.5/includes/AJAX/Controllers/Submission.php#L428 · plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/ninja-forms/tags/3.15.5/includes/Actions/Save.php#L311 · plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/ninja-forms/tags/3.15.5/includes/Database/Models/Submission.php#L731 · plugins.trac.wordpress.orgplugins.trac.wordpress.org/browser/ninja-forms/tags/3.15.5/includes/Admin/Metaboxes/Calculations.php#L23 · plugins.trac.wordpress.orgwordpress.org/plugins/ninja-forms/ · wordpress.orgplugins.trac.wordpress.org/changeset/3749135/ninja-forms/trunk/includes/Templates/admin-metaboxes-calcs.html.php · plugins.trac.wordpress.org

Other CVEs in Ninja Forms – Contact Form Builder with Calculators, Quizzes, Signatures & AI Form Builder

All 5 →
6.1Ninja Forms <= 3.15.5 - Reflected DOM-Based Cross-Site Scripting via 'querystring:<key>' URL Parameter · CVE-2026-100151Oct 316.5Ninja Forms <= 3.15.5 - Unauthenticated Arbitrary Shortcode Execution via 'formData' Field Value via Success Message Merge Tag · CVE-2026-100155Oct 315.4Ninja Forms <= 3.15.5 - Authenticated (Subscriber+) Arbitrary Shortcode Execution via '{wp:user_display_name}' Merge Tag via display_name · CVE-2026-101326Oct 31