---
id: "CVE-2026-97645"
kind: "vulnerability"
aliases: ["CVE-2026-97645"]
title: "Gravity Forms: stored script injection through List Field entries"
severity: "high"
cvss: 7.2
epss: null
exploited: false
status: "open"
category: "other"
products: [{"name": "Gravity Forms", "fixed": ["3.1.3"], "affected": "<= 3.1.2", "ecosystem": "wordpress"}]
ecosystems: []
tags: ["gravity-forms", "other", "self-hosted", "wordpress"]
not_affected_if: ["no-list-field", "not-public-form", "plugin-newer-than-3.1.2"]
published_at: "2026-10-30T07:16:35+00:00"
first_seen_at: "2026-10-30T07:29:00+00:00"
updated_at: "2026-10-30T07:31:35+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-97645", "first_seen_at": "2026-10-30T07:29:00+00:00"}, {"source": "analyst", "url": null, "first_seen_at": "2026-10-30T07:31:35+00:00"}]
---

# Gravity Forms: stored script injection through List Field entries

The Gravity Forms WordPress plugin up to and including 3.1.2 does not sanitize List Field input or escape its output. An unauthenticated attacker can store a script that runs in the browser of an administrator who opens the entry and confirms a dialog.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- wordpress:Gravity Forms affected <= 3.1.2 fixed 3.1.3

## How to check

In WordPress admin > Plugins, check the Gravity Forms version; 3.1.2 or earlier is affected. Higher risk if any publicly reachable form has a List Field.

## Fix

Update Gravity Forms to 3.1.3 or later (WordPress admin > Plugins > Update).

## Timeline

- 2026-10-30T07:29:00+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-97645
- 2026-10-30T07:31:35+00:00 analyst — Fix 3.1.3 comes from Wordfence-derived data (wordsec, wpvanguard). Vendor changelog (3.1.3, 2026-10-01) says only 'security enhancements' and does not name the CVE, so nothing marked verified. No exploitation or PoC found. Severity unchanged (CVSS 7.2).

## Documents

- [advisory] Gravity Forms <= 3.1.2 Stored XSS via List Field (Wordfence data, patched 3.1.3) https://wordsec.net/vulnerabilities/plugins/gravityforms/gravity-forms-312-unauthenticated-stored-cross-site-scripting-via-list-field
- [fix] Gravity Forms Changelog https://docs.gravityforms.com/gravityforms-change-log/

## From the sources

The Gravity Forms plugin for WordPress is vulnerable to Stored Cross-Site Scripting via List Field in all versions up to, and including, 3.1.2 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. Successful exploitation requires the administrator to click the injected link in the entry detail view and confirm a dialog, which triggers the admin JavaScript bundle's delegated data-dialog-callback handler to invoke the attacker-supplied function reference.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
