Reported vulnerability

Gravity Forms <= 3.0.2 - Unauthenticated Arbitrary File Upload via State/Chunk Hash Confusion

Published 1 Sept 2026

Updated 1 Sept 2026

CVE-2026-19513

Compare your installed software with the affected versions below. Follow the source’s remediation guidance and test an available update after taking a backup. A database entry describes a reported issue; it does not establish whether a particular website has been compromised.

Does this affect my version?

Check your installed version against this advisory. This compares the report’s version ranges and does not scan your website.

Gravity Forms

In WordPress, open Plugins > Installed Plugins and find the version shown beneath the plugin name.

Wordfence advisory

high · CVSS 8.1

The Gravity Forms plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 3.0.2. This is due to insufficient validation of multi-file upload chunk state in the `GFAsyncUpload::upload()` function, where public form state URL hashes can be reused as chunk continuation hashes and attacker-controlled temporary filenames are accepted before sanitization. This makes it possible for unauthenticated attackers, when a public form contains a File Upload field with Multiple Files enabled, to upload a valid PNG/PDF polyglot to an attacker-selected public `.php` or `.html` filename in the Gravity Forms temporary upload directory. This can lead to remote code execution on WordPress systems that use NGINX or other non `.htaccess` respecting web servers. NOTE: During installation and activation, the Gravity Forms plugin places a `.htaccess` file in this directory, which prevents this vulnerability from being exploited despite the PHP file being written to the temporary upload directory. In these cases where PHP execution is blocked, attacker-written HTML can result in stored same-origin cross-site scripting if a victim visits the generated file URL.

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

Gravity Forms

Software
plugin · gravityforms
Affected versions
Start version unspecified, through 3.0.2
Fix availability
Fix available
Fixed versions
3.0.3

Recommended action

Update to version 3.0.3, or a newer patched version

Further references (1)
Data sources and licences

Copyright 2012-2026 Defiant Inc.

Defiant hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute this software vulnerability information. Any copy of the software vulnerability information you make for such purposes is authorized provided that you include a hyperlink to this vulnerability record and reproduce Defiant's copyright designation and this license in any such copy.

Read licence terms

Copyright 1999-2026 The MITRE Corporation

CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy.

Read licence terms

Source: Wordfence

Need help fixing this issue?

Get help checking your site, applying an available update and resolving any problems after updating.

Get help with this issue

Questions about this vulnerability

Which versions of Gravity Forms are affected?

Wordfence lists these affected versions: Start version unspecified, through 3.0.2. Use the version checker above to compare your installed release with this report.

Is a fix available for Gravity Forms?

Wordfence reports a fix for this issue in Gravity Forms. It lists these fixed versions: 3.0.3. Back up your website and test the recommended update before applying it to your live site.

Where can I find my installed plugin version?

In WordPress, open Plugins > Installed Plugins and find the version shown beneath the plugin name.

Does an affected version mean my website has been hacked?

An affected version means the installed release matches a vulnerability described in this report. It does not show whether anyone has exploited it on your website. The checker compares version numbers with stored reports; it does not inspect your website.

Accessibility settings

Adjust how this site looks and moves. Your choices are saved in this browser.