Skip to main content

Gravity Forms CVE-2026-16649

| EUVDEUVD-2026-71879 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-09-05 Wordfence GHSA-34rx-8vxh-qm4m
7.2
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

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

  1. Recon
    Submit unauthenticated form with crafted aria-label payload
  2. Delivery
    Payload bypasses wp_kses_post server-side sanitization
  3. Exploit
    Malicious entry persisted to WordPress database
  4. Install
    Victim loads page rendering form entry
  5. C2
    Client-side tooltip script injects aria-label as innerHTML
  6. Execute
    Event-handler attribute executes in victim's browser
  7. Impact
    Session token exfiltration or admin credential theft

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: (1) Gravity Forms plugin installed at version 2.10.5 or earlier on the target WordPress site; (2) a publicly accessible form that includes a Post Body field accepting user-submitted content; (3) the stored form entry must subsequently be rendered in a page viewed by any user, since the XSS payload executes client-side via the tooltip script's innerHTML re-parsing of aria-label values. No authentication is required to inject the payload (PR:N confirmed by CVSS vector). Execution is limited by the need for a victim to load the affected page (the supplied UI:N metric overstates accessibility - victim page-load is an implicit prerequisite for stored XSS). Sites where form entries are never rendered to users, or where Gravity Forms' tooltip functionality is not active, are not exposed to this specific attack path.

Impact

The vendor-supplied CVSS 3.1 score of 7.2 uses the vector AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N. The UI:N metric is inconsistent with stored XSS: a victim must load the affected page for the payload to execute, which constitutes user interaction (UI:R by CVSS 3.1 definitions); the more defensible score is approximately 6.1 with UI:R. No EPSS score or KEV listing was provided in the input data, and no public exploit code has been identified at time of analysis. Despite these absent escalation signals, the risk is non-trivial: the attack requires no credentials, the sanitization bypass defeats a control (wp_kses_post) that WordPress site operators commonly treat as sufficient, and Gravity Forms is broadly deployed in SMB and enterprise WordPress environments. Sites where form entries are displayed to administrators or front-end visitors face meaningful risk of session token theft or administrative credential compromise.

Exploit ScenarioDerived

An unauthenticated attacker locates a WordPress site running Gravity Forms ≤2.10.5 with a publicly accessible form that includes a Post Body field, then submits an entry containing an aria-label attribute embedding an onerror event handler. The payload passes wp_kses_post validation and is stored in the WordPress database. When an administrator or any front-end visitor loads the page that renders that form entry, the tooltip script injects the aria-label value as innerHTML, triggering the event handler and executing attacker JavaScript in the victim's browser - enabling session cookie theft or administrative credential capture.

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 – Sep 05, 2026

Stored Cross-Site Scripting in the Gravity Forms WordPress plugin (all versions ≤2.10.5) permits unauthenticated attackers to inject persistent malicious scripts via Post Body Field Values that survive WordPress's standard wp_kses_post sanitization. The bypass exploits a client-side tooltip component that re-parses aria-label attribute content as innerHTML - stripping script tags but leaving event-handler attributes such as onerror intact and executable - meaning any user who subsequently loads an affected page runs the attacker-controlled JavaScript in their browser. No public exploit has been identified at time of analysis, but the zero-privilege injection vector combined with scope-changing browser execution makes this a high-priority patch for any WordPress environment running Gravity Forms.

RemediationAI

Update Gravity Forms to the first version released after 2.10.5; the exact patched version must be confirmed via the Gravity Forms changelog at https://docs.gravityforms.com/gravityforms-change-log/ before deployment - the input data identifies 2.10.5 as the last affected version but does not name the fix release explicitly. The Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/187a420d-a5a5-4b0e-945b-c5694243e68f) should be consulted for confirmed patch version. As a compensating control pending patching, administrators should restrict public access to form pages that expose Post Body field values in rendered output, and deploy a WAF rule to block form submissions containing aria-label payloads with event-handler attribute patterns (onerror=, onload=, etc.) - noting that overly broad WAF rules may reject legitimate form input. Relying on wp_kses_post alone is insufficient as a mitigation for this specific bypass.

Affected VersionsENISA

Gravity Forms 0 ≤2.10.5

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 (CPE: cpe:2.3:a:gravity_forms:gravity_forms) is a widely deployed premium WordPress form-builder plugin. The vulnerability is classified as CWE-79 (Improper Neutralization of Input During Web Page Generation - XSS) and arises from a two-stage sanitization failure. Server-side, WordPress's wp_kses_post allowlist sanitizer permits HTML tags and attributes that are necessary for the exploit payload - specifically, aria-label attributes on otherwise benign elements. Client-side, the plugin's tooltip rendering script takes the stored aria-label value and injects it directly into the DOM via innerHTML. That script filters out script elements but does not strip HTML event-handler attributes (onerror, onload, etc.), creating a persistent secondary execution sink. The root cause is the mismatch between what wp_kses_post considers safe and what the plugin's client-side code treats as safe when injecting into innerHTML.

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 6.1 MEDIUM

Stored XSS requires victim page-load (UI:R); scope changes to victim browser context (S:C); no availability impact on either system.

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:N/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 Body Field Value in all versions up to, and including, 2.10.5 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. The exploit survives save-time sanitization because wp_kses_post allows the required HTML tags and attributes, and the client-side tooltip script re-parses the browser-decoded aria-label value as innerHTML while only stripping script elements, leaving onerror and other event-handler attributes fully intact and executable.

Executive ViewAI

Why It Matters

Gravity Forms plugin versions 2.10.5 and earlier contain a stored cross-site scripting vulnerability that allows unauthenticated attackers to inject malicious code executable in the browsers of all site visitors. With no vendor patch currently available, any WordPress installation using this widely deployed plugin risks credential theft, malware distribution, and session hijacking affecting every user who accesses an affected form.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Deploy WAF rules and ModSecurity signatures to block event handler attributes and script-like patterns in form POST data; (2) Enforce strict Content-Security-Policy header with script-src 'self' to prevent inline script execution; (3) Audit and sanitize the WordPress database for injected payloads in form entries; (4) Require multi-factor authentication for all WordPress administrators to reduce account compromise risk; (5) If adequate WAF/CSP coverage cannot be maintained, disable and uninstall Gravity Forms immediately as the primary defense.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
High
widely used premium WordPress form-builder plugin, broad enterprise/SMB adoption
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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

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