Skip to main content

Gravity Forms CVE-2026-90437

| EUVDEUVD-2026-113735 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-30 Wordfence GHSA-8r7c-j2qw-g3gp
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 form entry unauthenticated
  2. Delivery
    Hide encoded script in data-dialog-confirm attribute
  3. Exploit
    Payload bypasses wp_kses_post() at save
  4. Execution
    Admin views entry, JS calls insertAdjacentHTML()
  5. Impact
    Script 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 a publicly accessible Gravity Forms form (version ≤ 3.1.1) that uses one of the specific vulnerable field types - a Post Excerpt field, a Post Custom Field, or a Paragraph Text field with the Rich Text Editor enabled - because these invoke allow_html() and accept raw HTML submissions. The attacker stores an entity-encoded payload in a data-dialog-confirm attribute. Script execution is not immediate: it fires only when a user/administrator subsequently accesses the injected page/entry and the plugin's admin JavaScript decodes the attribute through insertAdjacentHTML(). Limiting factors: a form must actually employ one of these field types with HTML allowed, and a victim must view the stored entry for the payload to trigger - so sites without these field configurations are not exposed.

Impact

This is a genuine but mid-tier priority. The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N, base 7.2 High) indicates a network-reachable, low-complexity, unauthenticated flaw with a scope change - consistent with stored XSS submitted through a public WordPress form and executing in the privileged admin context when an entry is viewed. The impact is bounded (C:L/I:L/A:N), reflecting script execution rather than direct server compromise. The vuln.today decision label is 'this_week' (not 'act_now'/'emergency'), signalling prompt-but-not-emergency remediation. KEV status is not set (no confirmed active exploitation), no EPSS score is provided (exploitation probability cannot be quantified from this data), and no public exploit or PoC reference is present - so this is 'no public exploit identified at time of analysis.' One tension worth flagging: the vector is scored UI:N, yet the description states execution occurs only when a user/administrator accesses the injected page and the plugin's admin JavaScript processes the attribute - a victim-view step that practically constrains exploitation even though it is scored as no attacker-side interaction. Overall: a real, credible issue reported by Wordfence that warrants timely patching, not a drop-everything emergency.

Exploit ScenarioDerived

An unauthenticated attacker submits a public Gravity Forms form that uses a Post Excerpt, Post Custom Field, or Rich-Text-enabled Paragraph Text field, embedding an entity-encoded script inside a data-dialog-confirm attribute. The encoded payload passes wp_kses_post() at save time, then executes when an administrator views the stored entry and the plugin's admin JavaScript decodes it via insertAdjacentHTML(), running script in the admin's authenticated browser session. No public exploit or PoC reference is present in the available data.

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 – Oct 30, 2026

Stored cross-site scripting in the Gravity Forms plugin for WordPress, affecting all versions up to and including 3.1.1, lets unauthenticated attackers persist arbitrary script through Post Excerpt, Post Custom Field and Rich-Text-Editor-enabled Paragraph Text fields, which the plugin accepts as raw HTML via allow_html(). The payload is inert at save time - an entity-encoded value placed in a data-dialog-confirm attribute survives wp_kses_post() - and only executes when a user or administrator later opens the injected page or entry and the plugin's admin JavaScript passes that attribute value to insertAdjacentHTML(). Exposure is limited to sites that expose a publicly accessible form configured with one of those field types and where a victim subsequently views the stored entry; no public exploit was identified at time of analysis, and the current priority label is this_week.

RemediationAI

Upgrade Gravity Forms to a release later than 3.1.1 as documented by the vendor; the provided data states the affected range as all versions up to and including 3.1.1 but does not list the exact fixed version, so confirm the current patched release in the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/7aee2acb-f109-4ba7-91ed-e65868b32f4f?source=cve) and the Gravity Forms documentation (https://docs.gravityforms.com/) before rolling out, and verify the installed plugin version after updating. If an immediate upgrade is not possible, reduce exposure by removing or disabling the vulnerable field types on any publicly accessible form - specifically Post Excerpt fields, Post Custom Field fields, and Paragraph Text fields with the Rich Text Editor enabled - or by disabling the Rich Text Editor on those Paragraph fields, at the cost of losing the post-population and rich-text authoring functionality those fields provide. Restricting public access to forms that use these field types (for example by requiring authentication or limiting which pages embed them) lowers the chance an unauthenticated submitter can seed a payload, though it does not fix the underlying output-escaping weakness in the plugin's admin JavaScript. Because the payload only fires when a user or administrator views the affected entry or page, reviewing recently submitted entries on forms using these field types for embedded data-dialog-confirm attributes helps identify content that was already stored before the fix was applied.

Affected VersionsENISA

Gravity Forms 0 ≤3.1.1

Affected Packages

euvd gravity_forms 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

Gravity Forms is a widely deployed form-building plugin for WordPress. This is a CWE-79 (improper neutralization of input during web page generation) flaw rooted in the plugin's handling of three field types - Post Excerpt, Post Custom Field, and Paragraph Text with the Rich Text Editor enabled - all of which call allow_html() and therefore accept raw HTML from form submitters rather than stripping markup. An attacker submits an entity-encoded script payload embedded in a data-dialog-confirm attribute; because the value is entity-encoded, it passes the wp_kses_post() filtering applied at save time, and the malicious markup is stored on the site. The second half of the flaw is on output: when the plugin's administrative JavaScript reads the stored attribute value and passes it to insertAdjacentHTML(), the browser decodes the entities into live markup and executes the script in the viewing user's session. The supplied CVSS vector (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N) reflects a network-reachable, unauthenticated injection path with a scope change, since script that persists in site content can run in an administrative browsing context; the description indicates the trigger is not immediate, requiring a subsequent page/entry view. The CPE entry cpe:2.3:a:gravity_forms:gravity_forms:*:*:*:*:*:*:*:* corroborates that all released versions through 3.1.1 are in scope, and the independent assessment confirms that the vulnerable field types must actually be present and reachable on a public form for the site to be exposed.

Know when Gravity 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 (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 submission via public forms (PR:N, AC:L, AV:N); payload runs in the privileged admin context (S:C) yielding limited confidentiality/integrity impact and no availability loss.

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:N/PR:N/UI:N/VC:L/VI:L/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 Gravity Forms plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Post Excerpt / Post Custom Field / Rich-Text Paragraph Field Values in all versions up to, and including, 3.1.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. This is possible because Post Excerpt, Post Custom Field, and Rich-Text-Editor-enabled Paragraph Text fields allow raw HTML submissions via allow_html(), and an entity-encoded payload stored in a data-dialog-confirm attribute evades wp_kses_post() at save time but is decoded into executable markup by the browser when the plugin's admin JavaScript passes the attribute value to insertAdjacentHTML().

Executive ViewAI

Why It Matters

A high-severity stored cross-site scripting vulnerability in the Gravity Forms plugin for WordPress (versions up to 3.1.1) enables unauthenticated attackers to inject persistent malicious scripts into publicly accessible forms. When administrators or users later view affected entries, the script executes in their browsers, potentially leading to session hijacking or administrative account takeover. Leadership should prioritize remediation due to the broad exposure of WordPress sites using Gravity Forms and the lack of a vendor patch.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include restricting public access to vulnerable form fields, deploying WAF rules to filter malicious payloads, and conducting regular security monitoring for anomalous form submissions.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
High
one of the most widely deployed premium WordPress form plugins
Social Media
2
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 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.

CVE-2026-84434 CRITICAL POC
9.8 Sep 19

Unauthenticated arbitrary file upload in the Gravity Forms WordPress plugin through version 3.1.0.4 can lead to remote c

CVE-2017-17780 MEDIUM POC
6.1 Dec 20

The Clockwork SMS clockwork-test-message.php component has XSS via a crafted "to" parameter in a clockwork-test-message

CVE-2023-2701 MEDIUM POC
6.1 Jul 17

The Gravity Forms WordPress plugin before 2.7.5 does not escape generated URLs before outputting them in attributes, lea

CVE-2026-103039 CRITICAL
9.8 Oct 30

Unauthenticated PHP object injection in the Gravity Forms WordPress plugin, affecting every version up to and including

CVE-2023-28782 HIGH
8.3 Dec 20

Deserialization of Untrusted Data vulnerability in Rocketgenius Inc. Rated high severity (CVSS 8.3), this vulnerability

CVE-2026-19513 HIGH
8.1 Sep 01

Arbitrary file upload in Gravity Forms for WordPress (all versions ≤ 3.0.2) allows unauthenticated attackers to write PH

CVE-2026-12997 HIGH
7.5 Jul 15

Arbitrary file disclosure in the Gravity Forms WordPress plugin (all versions through 2.10.4) lets unauthenticated attac

CVE-2026-97645 HIGH
7.2 Oct 30

Stored cross-site scripting in the Gravity Forms WordPress plugin through 3.1.2 allows unauthenticated form submitters t

CVE-2026-16649 HIGH
7.2 Sep 05

Stored Cross-Site Scripting in the Gravity Forms WordPress plugin (all versions ≤2.10.5) permits unauthenticated attacke

CVE-2026-5110 HIGH
7.2 May 02

Stored cross-site scripting (XSS) in Gravity Forms WordPress plugin versions ≤2.10.0 allows remote unauthenticated attac

CVE-2026-5111 HIGH
7.2 May 02

Stored Cross-Site Scripting in Gravity Forms plugin for WordPress through version 2.10.0 allows unauthenticated remote a

CVE-2026-5109 HIGH
7.2 May 02

Stored XSS in Gravity Forms for WordPress ≤2.10.0 allows unauthenticated remote attackers to inject malicious JavaScript

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