Skip to main content

WordPress CVE-2026-4406

| EUVDEUVD-2026-19994 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-04-08 security@wordfence.com GHSA-m698-rpjv-64j7
4.7
CVSS 3.1 · Vendor: wordfence
Share

Severity by source

Vendor (wordfence) PRIMARY
4.7 MEDIUM
AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N

Primary rating from Vendor (wordfence) · only source for this CVE.

CVSS VectorVendor: wordfence

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

3
EUVD ID Assigned
Apr 08, 2026 - 00:22 euvd
EUVD-2026-19994
Analysis Generated
Apr 08, 2026 - 00:22 vuln.today
CVE Published
Apr 08, 2026 - 00:16 nvd
MEDIUM 4.7

DescriptionCVE.org

The Gravity Forms plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via the form_ids parameter in the gform_get_config AJAX action in all versions up to, and including, 2.9.30. This is due to the GFCommon::send_json() method outputting JSON-encoded data wrapped in HTML comment delimiters using echo and wp_die(), which serves 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, allowing injected HTML/script tags in form_ids array values to be parsed and executed by the browser. The required config_nonce is generated with wp_create_nonce('gform_config_ajax') and is publicly embedded on every page that renders a Gravity Forms form, making it identical for all unauthenticated visitors within the same 12-hour nonce tick. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link. This vulnerability cannot be exploited against users who are authenticated on the target system, but could be used to alter the target page.

AnalysisAI

Reflected cross-site scripting in Gravity Forms plugin for WordPress versions up to 2.9.30 allows unauthenticated attackers to inject arbitrary web scripts via the form_ids parameter in the gform_get_config AJAX action. The vulnerability exploits improper JSON encoding combined with HTML content-type headers and publicly reusable nonces; attackers can craft malicious links that, when clicked by users, execute injected scripts on vulnerable pages. No active exploitation confirmed; CVSS 4.7 reflects moderate risk constrained by required user interaction and limited scope.

Technical ContextAI

The Gravity Forms plugin's GFCommon::send_json() method outputs JSON-encoded data wrapped in HTML comment delimiters using echo and wp_die() with Content-Type: text/html instead of application/json. WordPress's wp_json_encode() function does not HTML-encode angle brackets within JSON string values, allowing injected HTML and script tags in the form_ids array to be parsed and executed by the browser. The vulnerability chain relies on the config_nonce parameter, generated via wp_create_nonce('gform_config_ajax'), which remains identical for all unauthenticated visitors within the same 12-hour nonce tick and is publicly embedded on every page rendering Gravity Forms forms. CWE-79 classifies this as improper neutralization of input during web page generation (cross-site scripting), rooted in the mismatch between JSON encoding logic and HTML rendering context.

RemediationAI

Upgrade Gravity Forms plugin to version 2.9.31 or later, which addresses the JSON encoding and content-type handling issues in the gform_get_config AJAX action. No workarounds are documented in the provided references. Administrators should review the official Gravity Forms changelog at https://docs.gravityforms.com/gravityforms-change-log/ and the plugin repository at https://plugins.trac.wordpress.org/browser/gravityforms/trunk/ to confirm patched version availability and apply the update immediately to all WordPress installations. If immediate patching is not feasible, consider disabling Gravity Forms temporarily or restricting access to affected pages via Web Application Firewall rules blocking requests with suspicious form_ids parameters.

CVE-2016-10033 CRITICAL POC
9.8 Dec 30

The mailSend function in the isMail transport in PHPMailer before 5.2.18 might allow remote attackers to pass extra para

CVE-2016-10045 CRITICAL POC
9.8 Dec 30

The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

CVE-2024-5084 CRITICAL POC
9.8 May 23

The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil

CVE-2024-44000 CRITICAL POC
9.8 Oct 20

Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote

CVE-2024-8353 CRITICAL POC
9.8 Sep 28

The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all

CVE-2020-36847 CRITICAL POC
9.8 Jul 12

The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner

CVE-2025-11749 CRITICAL POC
9.8 Nov 05

The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint

CVE-2025-27007 CRITICAL POC
9.8 May 01

The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut

CVE-2016-1209 CRITICAL POC
9.8 May 14

The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via

CVE-2024-4443 CRITICAL POC
9.8 May 22

The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based

CVE-2026-63030 CRITICAL POC
9.8 Jul 17

Remote code execution in WordPress 6.9.x (before 6.9.5) and 7.0.x (before 7.0.2) arises from a REST API batch endpoint r

Share

CVE-2026-4406 vulnerability details – vuln.today

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