Skip to main content

Ninja Forms EUVDEUVD-2026-46267

| CVE-2026-65048 CRITICAL
Cross-site Scripting (XSS) (CWE-79)
2026-07-21 VulnCheck GHSA-895j-583x-29ww
9.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Recon
    Find public form with Repeatable Fieldset
  2. Delivery
    Submit crafted repeater child key
  3. Exploit
    Payload stored unescaped via parseSubmissionIndex
  4. Install
    Admin opens submissions in wp-admin
  5. C2
    Script runs in admin session
  6. Execute
    Create rogue admin or steal cookies
  7. Impact
    Full site takeover

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 a publicly accessible Ninja Forms form that uses the Repeatable Fieldset feature - that feature being present and reachable is the concrete precondition, since the vulnerable parseSubmissionIndex()/admin_form_element() path is specific to repeater child-key handling. The attacker needs no account (PR:N) and only submits the form with a malicious repeater child key as the submission index. The key limiting factor is UI:A: the payload lies dormant until an administrator actively opens the affected submission in the WordPress admin panel, so exploitation depends on that human action and on the site actually reviewing form entries; sites not using Repeatable Fieldsets, or running versions outside 3.10.4-3.14.9, are not exposed.

Impact

This is a genuine high-priority issue rather than an inflated CVSS score. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N, 9.3) shows a network-reachable, low-complexity, unauthenticated vector whose only meaningful gate is UI:A - an administrator must open the submissions view, an action that is routine for any site processing forms. The subsequent-system impacts (SC:H/SI:H) correctly capture that code runs in the privileged admin context, not just the vulnerable component. Mitigating the raw severity: exploitation is not automatable end-to-end because it hinges on that admin-view step, and there is no KEV listing and no public POC, so this reads as latent risk rather than confirmed active or widespread exploitation. No EPSS score was provided in the input, so probabilistic exploitation likelihood cannot be quantified here. Confidence in the CVSS signal is high because the vector aligns cleanly with the described mechanism.

Exploit ScenarioDerived

An unauthenticated attacker locates a public Ninja Forms form using a Repeatable Fieldset, submits it with a crafted repeater child key such as '<script>...</script>' as the submission index, and the payload is stored. When a site administrator later opens the submissions view in wp-admin, the script executes in their authenticated session and can steal cookies or silently create a new administrator account. No public POC was identified in the input, but the low attack complexity (AC:L) and network vector make weaponization straightforward once the mechanism is known.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
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 – Jul 21, 2026

Stored cross-site scripting in the Ninja Forms WordPress plugin (versions 3.10.4 through 3.14.9) lets unauthenticated visitors persist script payloads through the Repeatable Fieldset feature that later execute in an administrator's browser when they review form submissions. Because it requires no authentication and fires inside a privileged admin session, a successful hit can lead to admin-account takeover, malicious plugin installation, and full site compromise. No public exploit identified at time of analysis, though the flaw was reported by VulnCheck and a vendor patch is available; the CVSS 4.0 base score is 9.3 (Critical).

RemediationAI

Patch available per vendor advisory: upgrade Ninja Forms to the current fixed release published by Saturday Drive - the exact patched version is not stated in the provided data, so consult the plugin changelog at https://wordpress.org/plugins/ninja-forms/changelog/ and the VulnCheck advisory (https://www.vulncheck.com/advisories/ninja-forms-unauthenticated-stored-cross-site-scripting-via-repeatable-fieldset-submission-index) to confirm the target version, then update from the WordPress plugin screen. If immediate patching is not possible, temporarily remove or disable any public-facing forms that use the Repeatable Fieldset feature, since that is the specific attack surface; note this breaks legitimate repeater submissions. As a defense-in-depth measure, add a WAF rule to block form submissions whose repeater child keys contain non-numeric or script-like content (e.g. angle brackets or 'on*' event handlers), accepting that WAF rules can be bypassed and may cause false positives, and have administrators avoid opening untrusted submissions until the update is applied.

Affected VersionsENISA

Ninja Forms patch: 3.14.9
Ninja Forms 3.10.4 <3.14.9

Affected Packages

euvd ninja_forms fix: 3.14.9

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 affected component is Saturday Drive's Ninja Forms, a widely deployed drag-and-drop form builder for WordPress (CPE cpe:2.3:a:saturday_drive:ninja_forms). The root cause is CWE-79 (improper neutralization of input during web page generation). Two functions collaborate to create the flaw: parseSubmissionIndex() accepts arbitrary strings as the submission index for a repeater child rather than enforcing numeric-only values, and admin_form_element() then interpolates that attacker-controlled index directly into the admin-side HTML markup without output escaping. The Repeatable Fieldset feature is the specific attack surface - its child-key handling is what carries the tainted value from an unauthenticated public form submission into the trusted admin rendering path.

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 (VulnCheck) PRIMARY 9.3 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N
vuln.today AI 9.3 CRITICAL

Unauthenticated network submission (PR:N/AV:N/AC:L), payload requires an admin to view submissions (UI:R), and execution in the privileged admin context crosses a trust boundary (S:C) enabling account takeover (C:H/I:H).

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
None

DescriptionCVE.org

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 where parseSubmissionIndex() 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, enabling session-cookie theft, creation of administrator accounts, installation of malicious plugins, and arbitrary modification of site content.

Executive ViewAI

Why It Matters

Ninja Forms WordPress plugin versions 3.10.4-3.14.9 contain a critical stored cross-site scripting vulnerability that allows unauthenticated attackers to inject malicious scripts into form submissions, which then execute in administrators' browsers with full privileges. This enables direct account takeover, malicious plugin installation, and complete website compromise without requiring attacker credentials. Organizations using this plugin must treat this as an immediate threat to administrator account security and overall site integrity.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
High
one of the most widely installed WordPress form-builder plugins
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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Very High
Technical Impact
Total

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
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.

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-2026-92438 HIGH POC
8.8 Sep 22

Stored cross-site scripting in the Ninja Forms WordPress plugin 3.15.3 lets an unauthenticated visitor plant a script pa

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

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