Skip to main content

Ninja Forms EUVDEUVD-2026-71880

| CVE-2026-19769 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-09-05 Wordfence GHSA-4g6m-8fw6-3c27
7.2
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Submit crafted AJAX Repeater child entry with unrecognized 'type' key
  2. Delivery
    Type confusion bypasses sanitization in Submission.php
  3. Exploit
    File Uploads handler writes attacker-supplied HTML/JS file to web-server-writable directory
  4. Execution
    Planted file served from site's own origin
  5. Impact
    Victims browsing to URL execute arbitrary JavaScript with full same-origin privileges

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires two simultaneous conditions: (1) Ninja Forms plugin version ≤3.15.1 is installed and active on the WordPress site, and (2) the Ninja Forms File Uploads add-on (a separately installed, paid extension) is also installed and active - without this add-on, the File Uploads handler code path does not exist and the vulnerability is unreachable. When both conditions are met, no authentication is required and no victim interaction is needed on the attacker's part; the attacker submits a crafted form entry via an unauthenticated AJAX request. Web server directory permissions must allow file writes to the target path (e.g., the WordPress site root), which is a standard default configuration for WordPress hosting environments. The attack is fully automatable: no account, session, or prior reconnaissance is needed beyond confirming the add-on is active.

Impact

The vendor-assigned CVSS 7.2 (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N) correctly reflects unauthenticated, low-complexity network exploitation but likely understates real-world impact: writing arbitrary JavaScript to the web root enables full session hijacking, credential harvesting, admin account compromise, and persistent backdoor placement - effects that substantially exceed the C:L/I:L ratings on the changed (victim browser) scope. The AC:L metric is defensible since the File Uploads add-on, while a prerequisite, is an environmental condition rather than an attacker-controlled variable; however, this add-on requirement is the primary real-world limiter - sites without it are entirely unaffected. No CISA KEV listing and no public exploit code have been identified, reducing urgency for the broader population of Ninja Forms users; sites with the File Uploads add-on active should treat this as high-priority given the automatable, unauthenticated attack path and the persistent file-write primitive it provides.

Exploit ScenarioDerived

An unauthenticated attacker submits a crafted AJAX form payload to a WordPress site running Ninja Forms ≤3.15.1 with the File Uploads add-on active, embedding a Repeater child entry with an unrecognized 'type' value and attacker-controlled HTML/JavaScript as the field content. The type confusion routes the submission through the File Uploads handler, which writes a malicious HTML file (e.g., tracker.html) to the web root. Any user subsequently browsing to that URL - including administrators - executes the attacker's JavaScript in the context of the legitimate site origin, enabling session cookie theft or admin account hijacking without any further interaction required from the attacker.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 05, 2026

Stored XSS with on-disk file write capability in the Ninja Forms WordPress plugin (versions ≤3.15.1) allows unauthenticated remote attackers to plant attacker-controlled HTML/JavaScript files anywhere in the web server's writable directory tree - including the site root - when the separately-installed Ninja Forms File Uploads add-on is active. The attack exploits a 'type' confusion flaw in Repeater child field processing: an unrecognized array key causes the submission pipeline to misroute input through the File Uploads handler, which writes raw attacker-supplied content to disk where it is subsequently served from the site's own origin. The fix is confirmed in version 3.15.2 via WordPress.org SVN changeset; no public exploit or CISA KEV listing has been identified at time of analysis.

RemediationAI

Upgrade Ninja Forms to version 3.15.2, which contains the confirmed fix per the WordPress.org SVN changeset at https://plugins.trac.wordpress.org/changeset?reponame=&new=3674413%40ninja-forms%2Ftags%2F3.15.2&old=3663678%40ninja-forms%2Ftags%2F3.15.1. The specific patch to Submission.php is visible at https://plugins.trac.wordpress.org/changeset/3674413/ninja-forms/trunk/includes/AJAX/Controllers/Submission.php. If an immediate upgrade is not possible and the File Uploads add-on is active, deactivating the Ninja Forms File Uploads add-on eliminates the vulnerable code path entirely, though this disables file upload functionality for all forms. Alternatively, a Web Application Firewall rule blocking AJAX submissions containing Repeater child entries with unrecognized 'type' keys may reduce exposure, but filter accuracy depends on WAF capability and carries a risk of false positives on legitimate multi-step form submissions.

Affected VersionsENISA

Ninja Forms – The Contact Form Builder That Grows With You 0 ≤3.15.1

Affected Packages

euvd ninja_forms_the_contact_form_builder_that_grows_with_you no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability resides in the Ninja Forms WordPress plugin (CPE: cpe:2.3:a:kstover:ninja_forms_-_the_contact_form_builder_that_grows_with_you:*:*:*:*:*:*:*:*) within its AJAX submission controller at includes/AJAX/Controllers/Submission.php (lines 55, 61, 303, and 609 per WordPress.org Trac). The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), but the exploitation path is atypical: when a Repeater field contains a child element whose 'type' key does not match any whitelisted entry, the array-key mismatch causes the submission pipeline to fall through to the File Uploads handler - a component designed to write files to the web server's filesystem. Because that handler does not sanitize or escape input for this unexpected code path, it writes the attacker-supplied HTML and JavaScript payload directly to disk. The resulting file is served from the site's own origin, giving the injected scripts full same-origin privileges over the victim's browser session.

Know when Ninja Forms The Contact Form Builder That Grows With You gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Wordfence) PRIMARY 7.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 7.2 HIGH

Unauthenticated network attack writes files to web root; AC:L as add-on is environmental; C:L/I:L reflects changed-scope browser impact per standard stored-XSS S:C scoring.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

Ninja Forms WordPress plugin versions 3.15.1 and earlier with the File Uploads add-on enabled allow unauthenticated attackers to upload and execute malicious scripts targeting website visitors, enabling credential theft, malware distribution, or website defacement.

Business Impact: High
Compensating Controls

Apply vendor patch to version 3.15.2. If immediate patching is not feasible, disable the File Uploads add-on or restrict form submissions to authenticated users only via plugin configuration.

Threat Intelligence Overview

EPSS Score
0.2%
Top 84% exploitable
Prevalence
High
Ninja Forms is one of the most-installed WordPress contact form plugins globally
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy