Skip to main content

Ninja Forms CVE-2026-92438

| EUVDEUVD-2026-84282 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-09-22 WPScan GHSA-x4cv-hqr7-5rcm
8.8
CVSS 3.1 · Vendor: WPScan
View

Attack ChainAIDerived

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

  1. Access
    Locate public Ninja Forms form
  2. Delivery
    Submit field value with stored XSS payload
  3. Exploit
    Payload persisted unescaped in submission
  4. Execution
    Admin opens submission edit screen
  5. Persist
    Script executes in admin browser
  6. Impact
    Hijack admin session / create rogue admin

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

Requires the target WordPress site to run Ninja Forms 3.15.3 with at least one publicly accessible form; the attacker submits a script payload into a form field that is stored without output escaping. Execution is NOT automatic on submission - it is gated by required user interaction (UI:R): a high-privileged user (administrator) must open the malicious submission on the admin submission-edit screen for the script to run in their authenticated session. No authentication is needed to plant the payload (PR:N), but the impact depends on an admin reviewing submissions, which is the normal operational workflow, making the gate weak in practice.

Impact

This is a stored (persistent) cross-site scripting flaw: an unauthenticated attacker submits a malicious payload through a public Ninja Forms form, and the script executes when a high-privileged administrator opens that submission on the admin edit screen. The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H = 8.8) captures the unauthenticated network delivery and the required admin interaction, but the C:H/I:H/A:H with S:U appears over-scoped for a reflected/stored XSS payload - XSS impact is normally partial (C:L/I:L) with a scope change (S:C) because the script executes in the victim admin's browser context rather than granting direct full compromise; a realistic base score is closer to ~6.1. The signals are mixed: a public exploit reference exists (WPScan advisory), which raises practical concern, but there is NO CISA KEV listing and no EPSS score supplied, so there is no evidence of widespread automated exploitation. The real-world risk is meaningfully gated by UI:R - an admin must actually review the attacker's submission - but because reviewing form submissions is the normal workflow for this plugin, that gate is weak in practice and admin-context XSS can escalate to session/account takeover. Net: a genuine priority for sites running the affected version, but the vendor's 8.8 likely overstates raw technical impact.

Exploit ScenarioDerived

An attacker fills out any public-facing Ninja Forms form on the target WordPress site, placing a JavaScript payload (e.g., an <img onerror> or <script> string) into a text field that is stored without output escaping. When a site administrator later opens that submission on the admin submission-edit screen to review it, the payload executes in the admin's authenticated browser session, enabling actions such as anti-CSRF token theft, admin session hijacking, or creation of a rogue admin account. A public exploit/advisory is available via WPScan, lowering the barrier to reproduction.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 22, 2026

Stored cross-site scripting in the Ninja Forms WordPress plugin 3.15.3 lets an unauthenticated visitor plant a script payload inside any publicly accessible form field, which the plugin then renders unescaped on the admin submission-edit screen so it executes in the browser of the high-privileged user who opens that submission. Execution is not automatic: an administrator must review the malicious submission (UI:R), but reviewing submissions is the normal operational workflow, so that interaction gate is weak in practice, and an unauthenticated attacker can plant the payload at will (PR:N). Publicly available exploit code exists and the issue was reported by WPScan; the provided data contains no CISA KEV listing or EPSS score, so there is no confirmation of active exploitation, and our independent assessment rates the impact as changed-scope XSS with low confidentiality and integrity loss and no availability loss, rather than the higher 8.8 score carried alongside the CVE record.

RemediationAI

No vendor-released fixed version is identified anywhere in the provided data, so the first action is to check the Ninja Forms release history and the WPScan advisory at https://wpscan.com/vulnerability/eeed1378-2c51-4d38-9dda-4a13ce330b25/ (the reference tagged as the exploit source) for a patched release newer than 3.15.3, and upgrade the plugin as soon as such a release is confirmed; if the plugin cannot be updated immediately, treat mitigation as temporary and re-check weekly. Compensating controls, with their trade-offs: unpublish or delete public-facing forms that are not business-critical, understanding this removes legitimate lead-capture or contact functionality; restrict access to the WordPress admin submission screens (IP allowlist, HTTP auth in front of /wp-admin, or a VPN) so a reviewing administrator cannot be reached by an attacker-crafted submission while browsing, at the cost of admin convenience and possible breakage of remote workflows; deploy a WAF rule that blocks script and event-handler markup in POST bodies destined for Ninja Forms submission endpoints, accepting potential false positives that reject legitimate submissions containing angle brackets; and enforce a Content-Security-Policy on /wp-admin/ with script-src and object-src restricted to trusted origins, which reduces inline script execution but can break other admin-side JavaScript plugins if the policy is too strict. CAPTCHA or login-gating forms does not remediate this class of bug, because the payload is persisted in the database, so after patching also purge or review existing stored submissions for injected markup before restoring normal review workflows; rotating administrator sessions and forcing re-authentication after cleanup limits the value of any session tokens an attacker may already have captured.

Affected VersionsENISA

Ninja Forms 3.15.3 <3.15.4

Affected Packages

euvd ninja_forms fix: 3.15.4

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

This is a persistent (stored) cross-site scripting flaw in a WordPress plugin. Ninja Forms stores values submitted through its public front-end forms in the WordPress database, and version 3.15.3 fails to escape those stored field values before echoing them back on the administrator-facing submission edit screen, so markup such as a script tag submitted as ordinary form input is re-rendered as live HTML/JavaScript rather than inert text. No CWE identifier was supplied with the CVE record, but the root cause class is improper neutralization of user-controlled input during output generation (the CWE-79 / output-encoding family); the correct fix is contextual output escaping (for example esc_html/esc_attr on the submission values) at render time. The two data points in this case are worth separating: the CVSS 3.1 vector supplied with the record (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H) describes an unchanged-scope compromise, while our independent assessment (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N) treats it as changed-scope XSS because the injected JavaScript runs in the security context of an authenticated administrator rather than the unauthenticated submitter, with the practical impact bounded to that administrator's browser session (cookie/session abuse, actions performed as the admin) rather than direct server compromise, and no availability impact. The provided CPE, cpe:2.3:a:unknown:ninja_forms:*:*:*:*:*:*:*:*, leaves the vendor field as "unknown" and the version as a wildcard, so it does not establish a bounded affected range; only version 3.15.3 is explicitly named in the description and the WPScan advisory. Exploitation prerequisites are a site running that plugin version, at least one publicly reachable form, and an administrator who later opens the tainted submission.

Know when Ninja Forms 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 (WPScan) PRIMARY 8.8 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 6.1 MEDIUM

Unauthenticated stored XSS delivered via public form (PR:N/AV:N) but requiring an admin to view the submission (UI:R); script escapes plugin authority into the browser (S:C) with partial C/I and no availability impact.

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

Primary rating from Vendor (WPScan).

CVSS VectorVendor: WPScan

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

Lifecycle Timeline

2
Patch available
Sep 22, 2026 - 08:16 EUVD
CVE Published
Sep 22, 2026 - 06:58 cve.org
HIGH 8.8

DescriptionCVE.org

The Ninja Forms WordPress plugin 3.15.3 does not escape submitted form field values before outputting them on the submission edit screen in the admin area, which could allow unauthenticated users to submit values through a public form that then execute in the browser of any high-privileged user who reviews the submission.

Technical POC Analysis

Evidence base: the WPScan vulnerability entry (WPVDB ID eeed1378-2c51-4d38-9dda-4a13ce330b25) and the CVE record metadata.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Organizations running the WordPress plugin Ninja Forms 3.15.3 face a high-severity stored cross-site scripting exposure that lets an unauthenticated visitor inject a script payload into public form fields, which then executes in the browser of an administrator who opens the affected submission as part of routine review. Publicly available exploit code exists, although there is no confirmation of active exploitation (no CISA KEV listing or EPSS score provided), and no vendor-released patch identified at time of analysis. Leadership should care because an attacker could compromise a high-privilege WordPress administrator's session or browser context, potentially enabling broader site, data, or operational compromise.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations include deactivating or removing Ninja Forms 3.15.3 where feasible, restricting or disabling public form submissions, applying virtual patching or WAF rules if available, enforcing least privilege and multi-factor authentication for WordPress administrators, using a restrictive Content Security Policy, and reviewing submissions and admin sessions in a hardened or isolated browser.

Threat Intelligence Overview

EPSS Score
0.3%
Top 72% exploitable
Prevalence
High
Ninja Forms is a top-tier WordPress form plugin with very large active-install base
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
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 Yes
EPSS 0.3%
Patch available Yes
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
No
Human Impact
High
Technical Impact
Total

Priority Score

64
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: +20
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.

CVE-2016-1209 CRITICAL POC
9.8 May 14

The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via

CVE-2021-24163 HIGH POC
8.8 Apr 05

The AJAX action, wp_ajax_ninja_forms_sendwp_remote_install_handler, did not have a capability check on it, nor did it ha

CVE-2018-16308 HIGH POC
8.6 Sep 01

The Ninja Forms plugin before 3.3.14.1 for WordPress allows CSV injection. Rated high severity (CVSS 8.6), this vulnerab

CVE-2026-91827 HIGH POC
7.5 Sep 22

PHP Object Injection in the Ninja Forms WordPress plugin 3.15.3 allows unauthenticated attackers to plant serialized pay

CVE-2022-2903 HIGH POC
7.2 Sep 26

The Ninja Forms Contact Form WordPress plugin before 3.6.13 unserialises the content of an imported file, which could le

CVE-2021-24889 HIGH POC
7.2 Nov 29

The Ninja Forms Contact Form WordPress plugin before 3.6.4 does not escape keys of the fields POST parameter, which coul

CVE-2021-34647 MEDIUM POC
6.5 Sep 22

The Ninja Forms WordPress plugin is vulnerable to sensitive information disclosure via the bulk_export_submissions funct

CVE-2024-7354 MEDIUM POC
6.1 Sep 02

The Ninja Forms WordPress plugin before 3.8.11 does not escape an URL before outputting it back in an attribute, leading

CVE-2023-37979 MEDIUM POC
6.1 Jul 27

Unauth. Rated medium severity (CVSS 6.1), this vulnerability is remotely exploitable, no authentication required, low at

CVE-2023-1835 MEDIUM POC
6.1 May 15

The Ninja Forms Contact Form WordPress plugin before 3.6.22 does not properly escape user input before outputting it bac

CVE-2021-24165 MEDIUM POC
6.1 Apr 05

In the Ninja Forms Contact Form WordPress plugin before 3.4.34, the wp_ajax_nf_oauth_connect AJAX action was vulnerable

CVE-2018-19796 MEDIUM POC
6.1 Dec 03

An open redirect in the Ninja Forms plugin before 3.3.19.1 for WordPress allows Remote Attackers to redirect a user via

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