What the vulnerability does
01Description
The Gravity Forms plugin for WordPress is vulnerable to Stored Cross-Site Scripting in all versions up to, and including, 2.9.28.1. This is due to a compound failure involving missing authorization on the `create_from_template` AJAX endpoint (allowing any authenticated user to create forms), insufficient input sanitization (`sanitize_text_field()` preserves single quotes), and missing output escaping when the form title is rendered in the Form Switcher dropdown (`title` attribute constructed without `esc_attr()`, and JavaScript `saferHtml` utility only escapes `&`, `<`, `>` but not quotes). This makes it possible for authenticated attackers, with Subscriber-level access and above, to inject arbitrary JavaScript that executes when an Administrator searches in the Form Switcher dropdown in the Form Editor.
Explanation of Vulnerability in Simple Terms
02Summary
Gravity Forms versions up to 2.9.28 contain a cross-site scripting vulnerability that allows authenticated users to inject malicious scripts. The vulnerability has scope change, meaning injected code can affect other users or site functionality beyond the vulnerable component. An attacker with low-level access can craft payloads that execute in other users' browsers, potentially stealing data or performing actions on their behalf.
What an attacker can do
03Attacker Capabilities
Inject JavaScript that runs in other users' browsers and affects site functionality.
Potential impact on your site
04Site Impact
Authenticated users can inject malicious scripts affecting other visitors and site operations; user data and admin actions may be compromised.
Conditions required to exploit
05Prerequisites
Attacker must have a low-privilege account (e.g., subscriber or contributor role) on the site.
Key dates
06Disclosure timeline
March 11, 2026
CVE published
April 8, 2026
Record updated