Skip to main content

Ninja Forms EUVDEUVD-2026-112137

| CVE-2026-67187 MEDIUM
Improper Neutralization of Formula Elements in a CSV File (CWE-1236)
2026-10-28 VulnCheck GHSA-f833-cw2q-6hm3
5.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Submit crafted formula via nf_ajax_submit
  2. Delivery
    Payload stored in list field unescaped
  3. Exploit
    Admin exports submissions to CSV
  4. Execution
    Spreadsheet opens file and runs formula
  5. Impact
    Code/data action on admin workstation

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V1 - Encoding and Sanitization CSV injection prevention
Exploitation Conditions

Requires Ninja Forms for WordPress prior to 3.15.4 with a form containing at least one Checkbox List, Multi-Select List, Image List, Country, or State field reachable via the unauthenticated nf_ajax_submit endpoint; the attacker submits a crafted spreadsheet formula value (e.g. a payload beginning with =, +, -, or @) that NF_Abstracts_List's fall-through validate() fails to escape. The decisive limiting factor is that the payload is harmless data until an administrator downloads the exported submissions file and opens it in a spreadsheet application that evaluates formulas (UI:A); it never executes on the web server itself. No authentication is needed to plant the payload (PR:N), but realistic impact depends entirely on administrator export behavior and spreadsheet formula-execution settings.

Impact

This is a moderate-severity, interaction-dependent issue rather than a drop-everything emergency. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:A, base 5.1) tells a consistent story: the initial malicious submission is remote, low-complexity and unauthenticated (the nf_ajax_submit endpoint is public by design), but exploitation only completes through Active user interaction (UI:A) - an administrator must export and open the submissions file. Note the vulnerable-system impacts are all None (VC:N/VI:N/VA:N); the entire C/I/A impact lands on a subsequent system (SC:L/SI:L/SA:L), i.e. the administrator's workstation/spreadsheet, which is exactly what you expect from CWE-1236 CSV formula injection. No EPSS score was provided, there is no CISA KEV listing, and the input shows no confirmed working exploit code - only a VulnCheck advisory reference. The vendor-assigned priority is 'this_month' (not act_now/emergency), which aligns with the picture: a widely deployed plugin (raising exposure) but a limited-impact, interaction-gated flaw. Treat this as a scheduled-patch item that is elevated by the product's large install base rather than by any evidence of mass exploitation.

Exploit ScenarioDerived

An unauthenticated attacker submits a Ninja Forms entry through the public nf_ajax_submit endpoint, placing a spreadsheet formula payload into a Checkbox List, Multi-Select List, Image List, Country, or State field, which skips the CSV escaping applied only to Textbox/Textarea fields. The payload sits inert in the stored submissions until a site administrator exports the entries and opens the resulting CSV in a spreadsheet application, at which point the formula executes in the admin's context. No public exploit identified at time of analysis; a VulnCheck advisory reference exists but is not verified as working exploit code.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available

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

Alert me

AnalysisAIv1 – Oct 28, 2026

CSV formula injection in the Ninja Forms plugin for WordPress before 3.15.4 lets unauthenticated attackers plant crafted spreadsheet payloads inside form submissions, which are then evaluated when an administrator exports submissions and opens the file in a spreadsheet application. Requests go through the unauthenticated nf_ajax_submit endpoint to list-type fields (Checkbox List, Multi-Select List, Image List, Country, State), whose NF_Abstracts_List validate() method only enforces required-field presence and never applies the CSV escaping reserved for Textbox and Textarea fields. The vulnerability requires administrator interaction to become dangerous (UI:A) and does not execute on the web server itself; no public exploit code has been identified at time of analysis and the issue is not in CISA KEV, so it is a moderate-severity, interaction-dependent risk rather than an emergency.

RemediationAI

Update the Ninja Forms plugin to version 3.15.4 or later, which is the vendor-released patch that adds proper server-side validation and CSV escaping for list-type fields; the change is documented in the plugin changelog at https://wordpress.org/plugins/ninja-forms/#developers and described in the VulnCheck advisory at https://www.vulncheck.com/advisories/ninja-forms-wordpress-plugin-server-side-validation-bypass-via-list-fields. Where updating must be staged, compensating controls include removing or temporarily replacing Checkbox List, Multi-Select List, Image List, Country, and State fields on publicly exposed forms (side effect: those fields stop collecting legitimate input), and treating every downloaded submissions export as untrusted by opening it in a text editor or import-with-formulas-disabled mode rather than double-clicking it into Excel or Sheets (side effect: adds manual steps to administrator workflows). Reviewing existing exported or stored submissions for cell values beginning with =, +, -, or @ allows triage of payloads already planted through nf_ajax_submit, and restricting or disabling that endpoint at the web server or WAF layer reduces the injection surface but will break front-end form submission for legitimate visitors.

Affected VersionsENISA

Ninja Forms 0 <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

The root cause is CWE-1236, CSV Formula Injection: user-controlled data reaches a delimiter-separated export without neutralising leading formula characters such as =, +, -, or @. Ninja Forms implements field-type validation through class hierarchies rooted at NF_Abstracts_List, and the affected list field types inherit a validate() implementation that only checks whether a required field was filled, so arbitrary non-empty values pass server-side validation. The submission path is the nf_ajax_submit AJAX endpoint, which is reachable without authentication, meaning the payload is stored as ordinary submission data. Sanitisation for spreadsheet export is applied only to Textbox and Textarea fields, so values stored against list-type fields are written into the exported CSV verbatim. The decisive constraint is that the payload is inert until an administrator downloads the submissions export and opens it in a spreadsheet application configured to evaluate formulas; nothing executes on the WordPress host, and the resulting impact is bounded by what the administrator's spreadsheet client can be induced to do. The CPE cpe:2.3:a:saturday_drive:ninja_forms:*:*:*:*:*:*:*:* covers all plugin builds below the fixed release.

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 5.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:L
vuln.today AI 7.1 HIGH

Unauthenticated remote submission (PR:N) but completion needs an admin to open the export (UI:R); execution crosses into the spreadsheet app (S:C) with limited C/I/A.

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

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
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
Low

DescriptionCVE.org

Ninja Forms plugin for WordPress before 3.15.4 contains an incomplete server-side validation vulnerability that allows unauthenticated attackers to submit arbitrary values to Checkbox List, Multi-Select List, Image List, Country, and State fields because NF_Abstracts_List falls through to a validate() method that only checks required-field presence. Attackers can submit crafted formula payloads through the unauthenticated nf_ajax_submit endpoint that bypass CSV escaping applied only to Textbox and Textarea fields, resulting in CSV injection when an administrator downloads and opens the exported submissions file.

Threat Intelligence Overview

Prevalence
High
Ninja Forms is a very widely installed WordPress form plugin
Data Quality
3 sources
Confidence: Low

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 MEDIUM
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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