Gravity Forms Plugin Stored XSS: Unauthenticated Attackers Inject Scripts
The National Vulnerability Database has disclosed CVE-2026-5109, a high-severity (CVSS 7.2) Stored Cross-Site Scripting (XSS) vulnerability affecting the Gravity Forms plugin for WordPress, specifically versions up to and including 2.10.0. This flaw stems from insufficient validation and output escaping of Product Option field values.
Attackers can exploit this by submitting values where the wp_kses()-sanitized version matches a legitimate option, but the raw, unsanitized value is stored in the database. When an administrator views entry details in the Order Summary, the option_label is output directly without escaping, executing the injected JavaScript. This means unauthenticated attackers can inject arbitrary web scripts that execute whenever an administrator accesses the entry details page.
This is a critical flaw for any organization using Gravity Forms. It’s not just about data theft; XSS can lead to full administrative compromise if session cookies are stolen, or further attacks against users through the compromised admin interface. Defenders must prioritize patching and understand that even seemingly benign input fields can be weaponized if validation is flawed.
What This Means For You
- If your organization uses the Gravity Forms plugin, immediately check your version. If it's 2.10.0 or earlier, patch to the latest secure version without delay. Audit your entry details for any suspicious script injections, especially from untrusted or public-facing forms. This isn't theoretical; an unauthenticated attacker can gain admin-level code execution.
Related ATT&CK Techniques
🛡️ Detection Rules
2 rules · 6 SIEM formats2 detection rules auto-generated for this incident, mapped to MITRE ATT&CK. Sigma YAML is free — export to any SIEM format via the Intel Bot.
WordPress Gravity Forms Stored XSS - Unauthenticated Script Injection - CVE-2026-5109
title: WordPress Gravity Forms Stored XSS - Unauthenticated Script Injection - CVE-2026-5109
id: scw-2026-05-02-ai-1
status: experimental
level: high
description: |
Detects potential exploitation of CVE-2026-5109, a stored XSS vulnerability in WordPress Gravity Forms. This rule looks for POST requests to 'admin-ajax.php' with the 'gravityforms_get_feeds' action, which is often involved in processing form data. The presence of 'field_id=' in the query string is a strong indicator of an attempt to exploit the product option field vulnerability by injecting script payloads. This allows unauthenticated attackers to inject scripts that execute when an administrator views entry details.
author: SCW Feed Engine (AI-generated)
date: 2026-05-02
references:
- https://shimiscyberworld.com/posts/nvd-CVE-2026-5109/
tags:
- attack.initial_access
- attack.t1190
logsource:
category: webserver
detection:
selection:
cs-uri|contains:
- '/wp-admin/admin-ajax.php'
cs-method|exact:
- 'POST'
cs-uri-query|contains:
- 'action=gravityforms_get_feeds'
selection_payload:
cs-uri-query|contains:
- 'field_id=' # This is a placeholder, actual exploit might vary
condition: selection AND selection_payload
condition: selection
falsepositives:
- Legitimate administrative activity
Source: Shimi's Cyber World · License & reuse
Indicators of Compromise
| ID | Type | Indicator |
|---|---|---|
| CVE-2026-5109 | XSS | Gravity Forms plugin for WordPress versions <= 2.10.0 |
| CVE-2026-5109 | XSS | Insufficient validation and output escaping of Product Option field values |
| CVE-2026-5109 | XSS | Vulnerable file: view-order-summary.php, line 32 (output of option_label) |
Source & Attribution
| Source Platform | NVD |
| Channel | National Vulnerability Database |
| Published | May 02, 2026 at 09:16 UTC |
This content was AI-rewritten and enriched by Shimi's Cyber World based on the original source. All intellectual property rights remain with the original author.
Believe this infringes your rights? Submit a takedown request.