Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLocate form with RTE-enabled Paragraph Text field
-
DeliverySubmit crafted script payload
-
ExploitPayload stored unsanitized in submission
-
ExecutionAdmin views submission in dashboard
-
ImpactScript executes in admin browser context
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 that the targeted form contains a Paragraph Text field with the Rich Text Editor (RTE) option explicitly enabled - this is a per-field, non-default setting, so forms without RTE-enabled Paragraph Text fields are not affected. Given CVSS PR:N/UI:N, the payload can be planted by an unauthenticated attacker with no user interaction via normal form submission against versions up to and including 3.15.4. The primary limiting factors are: the non-default RTE configuration dependency, and that script execution (the actual impact) is deferred until a victim - typically an authenticated administrator - views the stored submission, meaning impact depends on an admin accessing the injected content. |
| Impact | This is a stored (persistent) cross-site scripting flaw (CWE-79) in the Ninja Forms WordPress plugin, reported by Wordfence, with a provided CVSS 3.1 score of 7.2 (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N). The network vector, low complexity, and no-privileges requirement mean an unauthenticated attacker can plant the payload remotely via a public form, and the Scope:Changed metric reflects that the injected script executes in a different security context (typically an administrator's browser when viewing the stored submission). Weighing the signals: no EPSS score is provided, there is no CISA KEV listing, and no public proof-of-concept is indicated - so despite a High CVSS, there is no evidence of real-world exploitation at this time. A crucial mitigating factor tempers the raw score: the description states exploitation is ONLY possible when the targeted Paragraph Text field has the Rich Text Editor (RTE) option enabled, which is a non-default, per-field configuration rather than an out-of-the-box condition. Net assessment: a genuine but conditional stored-XSS issue worth patching promptly on sites that use RTE-enabled Paragraph Text fields, but not an emergency mass-exploitation threat on the basis of the data available - treat as medium-to-high operational priority rather than critical. Note that the CVSS C:L/I:L impact pairing is typical of admin-session XSS; confirm against the Wordfence advisory for field-specific details. |
| Exploit ScenarioDerived | An unauthenticated attacker submits a Ninja Forms form whose Paragraph Text field has the Rich Text Editor option enabled, embedding a malicious script in the field value because input is insufficiently sanitized and output insufficiently escaped. When a site administrator later opens that submission in the WordPress dashboard, the stored script executes in their authenticated session, enabling actions such as session/cookie theft or admin-context operations. No public exploit code is identified at time of analysis, but the attack requires no authentication and no attacker-side user interaction to plant the payload. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 02, 2026
Stored cross-site scripting in the Ninja Forms WordPress plugin (versions up to and including 3.15.4) enables unauthenticated attackers to inject arbitrary web scripts into form submissions, which then execute when a victim-typically an authenticated administrator-views the stored entry. Exploitation is contingent on the targeted form containing a Paragraph Text field with the non-default Rich Text Editor (RTE) option explicitly enabled, per the independent assessment. The CVSS 3.1 score is 7.2 (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N), reflecting unauthenticated remote exploitation with changed scope but limited confidentiality and integrity impact; no public exploit code or CISA KEV entry was identified at time of analysis.
RemediationAI
Vendor-released patch: 3.15.5 (see changeset https://plugins.trac.wordpress.org/changeset/3717122/ninja-forms/trunk/includes/AJAX/Controllers/Submission.php). Update the Ninja Forms plugin to version 3.15.5 or later immediately. If immediate updating is not possible, disable the Rich Text Editor (RTE) option on all Paragraph Text fields in every form-this removes the necessary precondition for exploitation but degrades form functionality by forcing plain-text input. As additional compensating controls, restrict access to the WordPress admin submission viewer to trusted users (since the stored payload executes only when a victim views the submission), and consider using a web application firewall (WAF) to filter malicious script tags in form submissions, though WAF bypasses are possible and this does not address the root cause. Refer to the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/a159485d-ce5b-46e7-8e63-a72012ccc180?source=cve for further details.
Affected VersionsENISA
Affected Packages
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 flaw is a classic stored (persistent) cross-site scripting (CWE-79) arising from insufficient input sanitization and output escaping in the Ninja Forms plugin's handling of Paragraph Text field submissions when the per-field Rich Text Editor (RTE) option is enabled. According to the referenced code paths, the vulnerability touches multiple components: submissions.js (client-side handling), Helper.php (line 261), Database/Models/Submission.php (line 308), and AJAX/Controllers/Submission.php (line 61), indicating that the unsanitized RTE content is accepted via the unauthenticated form submission AJAX endpoint, stored in the database, and later rendered without proper escaping when a user views the submission. The CPE string cpe:2.3:a:kstover:ninja_forms_-_contact_form_builder_with_calculators,_quizzes,_signatures_&_ai_form_builder confirms the affected product. Because the CVSS vector includes PR:N and UI:N, the payload can be planted by any unauthenticated visitor with no user interaction; however, actual script execution occurs only when a victim-typically an administrator-navigates to the stored submission, and only if a Paragraph Text field with RTE enabled exists in the target form. The S:C scope change reflects that the injected script runs in the context of the victim's browser session, potentially affecting resources beyond the vulnerable component.
Know when Wordpress Plugin 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
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Unauthenticated remote form submission (AV:N/PR:N/UI:N) stores script that runs in a different context (S:C) yielding limited admin-session confidentiality and integrity impact; RTE dependency noted but not scored as AC:H.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Ninja Forms - The Contact Form Builder That Grows With You plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Paragraph Text (RTE) Field Submission in all versions up to, and including, 3.15.4 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. This is only exploitable when the targeted Paragraph Text field has the Rich Text Editor (RTE) option enabled.
Executive ViewAI
A stored cross-site scripting flaw in the Ninja Forms WordPress plugin (all versions through 3.15.4) allows an unauthenticated visitor to plant malicious scripts inside form submissions, which then execute in the browser of an administrator reviewing those entries - the highest-privilege user on the site. Because administrators can be induced to open submitted entries as part of routine triage, successful exploitation could hand an attacker effective control of the WordPress installation and any content, user data, or integrations it touches. Leadership should care because no vendor patch is currently available, the affected sites are internet-facing, and the exploit path requires no credentials.
No vendor patch is currently available. Interim mitigations: disable the non-default Rich Text Editor option on all Paragraph Text fields (removes the exploitation precondition); temporarily deactivate Ninja Forms on the highest-risk or internet-exposed sites; apply WAF or virtual-patching rules that sanitise script content in form submissions and stored entry rendering; restrict administrator dashboard access via IP allowlisting or VPN; reduce and monitor administrator accounts; and monitor Ninja Forms submissions and site files for anomalous script injection or unauthorised changes.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
Remote code execution in the WP Query Console WordPress plugin (versions up to and including 1.0) by Ajit Bohra allows u
EUVD-2026-91177
GHSA-7cq6-x444-93vj
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB