Sceawere

Vulnerability Detail

CVE-2026-19513UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV

Gravity Forms Arbitrary File Upload

Vulnerability Metadata

Severity
High
Score / CVSS
8.1
Creation Date
2h ago
Vendor
Gravity Forms
Product
Gravity Forms
Attack Type
CWE-434 Unrestricted Upload of File with Dangerous Type
Vector String
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack Complexity
HIGH

Narrative and Response

Description

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.

Executive Summary

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Executive Summary Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Technical Details

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Detailed Technical Analysis Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Mitigations

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Remediation & Mitigations Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

References

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Intelligence References Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Additional Metadata

{
  "score": "8.1",
  "pubDate": "2026-09-01T14:17:27.187Z",
  "pubdate": "2026-09-01T14:17:27.187Z",
  "executiveSummary": "The Gravity Forms plugin for WordPress, in all versions up to and including 3.0.2, contains a critical vulnerability categorized as an Arbitrary File Upload flaw.\nThe vulnerability resides in the GFAsyncUpload::upload() function, stemming from insufficient validation of multi-file upload chunk state.\nUnauthenticated attackers can exploit this flaw when a public form utilizes the Multiple Files upload feature to upload malicious files, such as PHP or HTML polyglots, into the plugin's temporary upload directory.\nWhile the plugin attempts to mitigate PHP execution via an .htaccess file, systems utilizing NGINX or environments that do not respect .htaccess configurations remain at high risk of Remote Code Execution (RCE).\nIn configurations where PHP execution is restricted, the vulnerability still poses a significant risk for stored Cross-Site Scripting (XSS) attacks by injecting malicious HTML content.\nThis vulnerability is particularly dangerous as it requires no authentication or specific user privileges, allowing remote attackers to manipulate the server-side filesystem directly.",
  "technicalDetails": "The root cause of this vulnerability is improper validation within the GFAsyncUpload::upload() function concerning the handling of multi-file upload chunk states. The system relies on public form state URL hashes, which are insufficiently protected, allowing an attacker to reuse these hashes as chunk continuation hashes. By manipulating these parameters, an attacker can influence the temporary filename generation process.\nThe vulnerability specifically occurs when an attacker-controlled temporary filename bypasses sanitization routines during the chunked upload process. Because the application fails to adequately validate the association between the session state and the incoming file data, the attacker can force the system to write files with arbitrary extensions, including .php or .html, into the Gravity Forms temporary upload directory.\nThe attack flow begins with the attacker identifying a publicly accessible Gravity Form that has the 'Multiple Files' upload field enabled. The attacker then initiates a series of HTTP requests to trigger the GFAsyncUpload::upload() function, supplying crafted chunked data. By providing a malicious filename and manipulating the state hash, the attacker convinces the server to finalize the file assembly using the attacker-specified extension.\nOn web server configurations that do not process .htaccess files—such as NGINX or improperly configured Apache instances—the uploaded PHP script is executable by the web server user. This leads to full Remote Code Execution, enabling the attacker to compromise the WordPress installation and potentially the underlying server.\nEven when .htaccess protection is active, the vulnerability remains critical due to the potential for stored XSS. By uploading a crafted HTML file containing malicious JavaScript, an attacker can trick an authenticated user or administrator into visiting the file URL. Once the file is rendered in the victim's browser, the malicious script executes within the context of the WordPress site's origin, facilitating session hijacking, administrative action spoofing, or further site compromise.\nThe flaw affects all versions up to 3.0.2 and requires no prerequisite authentication, making it a high-priority risk for any WordPress site utilizing Gravity Forms with public-facing file upload functionality."
}