Skip to content
On CISA KEVCritical

CVE-2026-103039Gravity Forms Insecure Deserialization

Gravity Forms <= 3.1.2 - Unauthenticated PHP Object Injection via Post Custom Field

Published Oct 30, 2026 · Updated Oct 30, 2026 · Also known as EUVD-2026-113740, GHSA-635p-78xg-j6w3, WORDFENCE-ec1fba15-81e5-42e3-9154-1978c3f81b26, ec1fba15-81e5-42e3-9154-1978c3f81b26

Key Facts

Patch immediately
  • CVE-2026-103039 is a critical-severity vulnerability (CVSS 9.8 v3.1) affecting gravityforms (wordpress-plugin), Gravity Forms.
  • It is exploited in the wild, listed in Industry KEV feed since Oct 30, 2026. No public exploit code is known.
  • EPSS estimates a 0.5% probability of exploitation in the next 30 days.
  • Fixed versions are available, including gravityforms 3.1.3.
  • Brandefense priority: patch immediately, because it is listed as exploited in the wild.

Scores

CVSS v3.1

9.8

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

EPSS (30-day exploit likelihood)

0.5%

Higher than 43.3% of all scored CVEs

Exploit maturity

Exploited (KEV)

ATLAS score

53/100

Publication score, see How it works

Exploitation Verdict

KEV listed

Oct 30, 2026

0 days after publication

Federal due date

None

No federal due date

Ransomware use

Not reported

Attributed actors

None named

Exploit & Defence Guidance

Exploit maturity

Exploited (KEV)

Public exploit code

0

Proof-of-concept links

In-the-wild evidence

1

Reports of active use

Description

The Gravity Forms plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 3.1.2 via a Post Custom Field whose input type is List. This is due to GFFormsModel::create_post() passing the submitted value to WordPress' unrestricted global maybe_unserialize() rather than the plugin's own hardened GFCommon::maybe_unserialize(), which was added in 3.1.1 and passes allowed_classes => false precisely to prevent object instantiation. Where the field has a content template enabled, the submitted row reaches that call verbatim.

This makes it possible for unauthenticated attackers to inject a PHP object into post meta. No PHP Object Injection gadget chain is present in the plugin itself; however, if a gadget chain is present via an additional plugin or theme, it could allow the attacker to perform actions such as remote code execution. Where the custom field is mapped to the protected _wp_page_template meta key, WordPress itself supplies the chain: validate_file() accepts non-scalars, WP_Theme::__toString() then resolves an attacker-controlled path, and on hosts with a readable PEAR install and register_argc_argv enabled this yields remote code execution.

Known-Exploited Catalog Listings

CatalogAddedRemediation dueRansomware use
Industry KEV feedOct 30, 2026n/aNot reported

Affected Products

3 affected entries in total
ProductAffected versionsFixed in
gravityformswordpress-pluginSee advisory3.1.3
Gravity FormsSee advisoryn/a

Patched Releases

gravityforms

3.1.3

Timeline

  1. Publicly disclosed

    Oct 30, 2026

  2. Added to Industry KEV feed

    Oct 30, 2026

Weakness Type

  • CWE-502 Deserialization of Untrusted Data

FAQ

Common Questions.

Is CVE-2026-103039 On Your Attack Surface?

Brandefense matches it against the products discovered on your perimeter and opens a finding the day a CVE like this is listed.

Request A Demo

More vulnerabilities

Figures as of Oct 30, 2026. Compiled by Brandefense technologies from public vulnerability catalogs; scoring as described in How it works.

To report an error, contact Brandefense.