CVE-2026-4406
Reflected XSS in Gravity Forms Plugin via form_ids Parameter
Publication date: 2026-04-08
Last updated on: 2026-04-08
Assigner: Wordfence
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| rocketgenius | gravity_forms | to 2.9.30 (inc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-79 | The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
The Gravity Forms plugin for WordPress has a Reflected Cross-Site Scripting (XSS) vulnerability via the `form_ids` parameter in the `gform_get_config` AJAX action in all versions up to and including 2.9.30.
This happens because the method `GFCommon::send_json()` outputs JSON-encoded data wrapped in HTML comment delimiters using `echo` and `wp_die()`, serving the response with a `Content-Type: text/html` header instead of `application/json`.
The `wp_json_encode()` function does not HTML-encode angle brackets within JSON string values, which allows injected HTML or script tags in the `form_ids` array values to be parsed and executed by the browser.
Although a `config_nonce` is required and generated with `wp_create_nonce('gform_config_ajax')`, it is publicly embedded on every page rendering a Gravity Forms form and is identical for all unauthenticated visitors within the same 12-hour nonce tick.
This makes it possible for unauthenticated attackers to inject arbitrary web scripts into pages that execute if a user is tricked into performing an action like clicking a link.
The vulnerability cannot be exploited against authenticated users on the target system but could be used to alter the target page.
How can this vulnerability impact me? :
This vulnerability allows unauthenticated attackers to inject and execute arbitrary scripts in the context of the affected website.
If a user is tricked into clicking a malicious link, the injected scripts could run in their browser, potentially leading to actions such as stealing session information, redirecting users to malicious sites, or altering the content of the affected page.
However, the vulnerability cannot be exploited against authenticated users, which limits some attack scenarios.
The overall impact is a moderate risk of information disclosure and integrity loss of the web page content.