Gravity Forms Plugin: Unauthenticated Stored XSS Puts WordPress Admins at Risk
The Gravity Forms plugin for WordPress, versions up to and including 2.10.0, is vulnerable to unauthenticated stored Cross-Site Scripting (XSS), as detailed by the National Vulnerability Database. This severe flaw (CVE-2026-5112, CVSS: 7.2 HIGH) stems from inadequate input validation and output escaping within the Calculation Product field, specifically when product names are rendered inside Repeater fields. Attackers don’t need authentication to exploit this.
The core issue lies in the GF_Field_Calculation class’s validate() method, which neglects to validate the product name field, allowing malicious HTML to bypass checks. Subsequently, the sanitize_entry_value() method returns this raw, unsanitized value. When an authenticated administrator later views an entry in wp-admin, the get_value_entry_detail() method concatenates the unescaped product name directly into the output. This means an attacker can inject arbitrary web scripts via form submissions.
For defenders, this is a critical vulnerability. Any administrator with gravityforms_view_entries capability who accesses an affected entry detail page will execute the attacker’s script. This allows for session hijacking, malicious redirects, or further client-side attacks, potentially leading to full compromise of the WordPress site. Patching is non-negotiable.
What This Means For You
- If your organization uses Gravity Forms on WordPress, immediately identify all instances running versions up to and including 2.10.0. Prioritize patching to a non-vulnerable version to mitigate the unauthenticated stored XSS vulnerability (CVE-2026-5112). Audit administrator accounts and their `gravityforms_view_entries` capability, especially if you cannot patch immediately.
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.
CVE-2026-5112: Gravity Forms Unauthenticated Stored XSS via Calculation Product Field
title: CVE-2026-5112: Gravity Forms Unauthenticated Stored XSS via Calculation Product Field
id: scw-2026-05-02-ai-1
status: experimental
level: high
description: |
Detects unauthenticated POST requests to the Gravity Forms AJAX endpoint used for saving form data. This specific endpoint is targeted by CVE-2026-5112 to inject malicious HTML into the product name field of Calculation Product fields within Repeater fields. This can lead to stored XSS when an administrator views the entry.
author: SCW Feed Engine (AI-generated)
date: 2026-05-02
references:
- https://shimiscyberworld.com/posts/nvd-CVE-2026-5112/
tags:
- attack.initial_access
- attack.t1190
logsource:
category: webserver
detection:
selection:
cs-uri|contains:
- '/wp-admin/admin-ajax.php'
cs-uri-query|contains:
- 'action=gravityforms_save_form_data'
cs-method:
- 'POST'
condition: selection
falsepositives:
- Legitimate administrative activity
Source: Shimi's Cyber World · License & reuse
Indicators of Compromise
| ID | Type | Indicator |
|---|---|---|
| CVE-2026-5112 | XSS | Gravity Forms plugin for WordPress versions <= 2.10.0 |
| CVE-2026-5112 | XSS | Insufficient input validation and output escaping of Calculation Product field product names |
| CVE-2026-5112 | XSS | Vulnerable component: GF_Field_Calculation class, validate() method (specifically product name field .1) |
| CVE-2026-5112 | XSS | Vulnerable component: sanitize_entry_value() method returning raw value for fields where HTML is not expected |
| CVE-2026-5112 | XSS | Vulnerable component: get_value_entry_detail() method concatenating unescaped product name into output string |
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.