CVE-2026-90437: Gravity Forms <= 3.1.1 - Unauthenticated Stored Cross-Site Scripting via Post Excerpt / Post Custom Field / Rich-Text Paragraph Field Values

Published Oct 30, 2026
·
Updated

The Gravity Forms plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Post Excerpt / Post Custom Field / Rich-Text Paragraph Field Values in all versions up to, and including, 3.1.1 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This is possible because Post Excerpt, Post Custom Field, and Rich-Text-Editor-enabled Paragraph Text fields allow raw HTML submissions via allowhtml(), and an entity-encoded payload stored in a data-dialog-confirm attribute evades wpksespost() at save time but is decoded into executable markup by the browser when the plugin's admin JavaScript passes the attribute value to insertAdjacentHTML().

Event History

Oct 30, 2026
CVE Published
via MITRE·06:47 AM
Data Sourced
via MITRE·06:47 AM
DescriptionSeverityWeakness
Data Sourced
via NVD·07:16 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which installations are exposed to this issue?

Gravity Forms for WordPress versions up to and including 3.1.1 are affected. Exploitation requires use of Post Excerpt, Post Custom Field, or Paragraph Text fields with the rich-text editor enabled.

2

Does an attacker need an account or user interaction to submit a malicious payload?

No attacker authentication or victim interaction is required for submission. The stored script executes when a user accesses an injected page.

3

What is the impact if exploitation succeeds?

An attacker can store arbitrary web script in affected field values. The script runs in the browser of users who visit the injected page, with low confidentiality and integrity impact indicated by the supplied vector.

4

How can administrators determine whether they may already be affected?

Review forms that use Post Excerpt, Post Custom Field, or rich-text-enabled Paragraph Text fields, and inspect submitted or generated content for unexpected HTML or encoded payloads. The described bypass uses entity-encoded content stored in a data-dialog-confirm attribute.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203