Skip to content
Threat Feed
critical advisory

Unauthenticated Arbitrary File Upload in Gravity Forms

The Gravity Forms WordPress plugin (<= 3.1.0.4) is susceptible to unauthenticated remote code execution due to a validation flaw in the upload_file function allowing hidden file upload fields to bypass extension checks.

CVE search metadata

CVE search record: CVE-2026-84434. Severity: critical. CVSS: 9.8. KEV: no. Product: Gravity Forms (<= 3.1.0.4). Brief: Unauthenticated Arbitrary File Upload in Gravity Forms. Brief link: https://feed.craftedsignal.io/briefs/2026-09-gravity-forms-rce/

Gravity Forms, a popular form-building plugin for WordPress, contains a critical vulnerability (CVE-2026-84434) in versions up to and including 3.1.0.4. The flaw exists within the upload_file() function and stems from a validation bypass when processing File Upload fields configured with 'Hidden' visibility. Because the field validation pipeline and file persistence pipeline operate independently, hidden fields are not subjected to the same extension restrictions as standard fields. Furthermore, rejected files may still be processed by the upload_file() function without secondary validation, enabling unauthenticated remote attackers to upload executable scripts to the web server. Successful exploitation facilitates remote code execution (RCE) on the underlying WordPress environment, representing a severe risk for any site utilizing hidden file upload components on public-facing forms.

Attack Chain

  1. Attacker identifies a target WordPress site running a vulnerable version of Gravity Forms.
  2. Attacker probes the site to discover publicly accessible forms containing File Upload fields with 'Hidden' visibility.
  3. Attacker crafts a malicious HTTP POST request targeting the form submission endpoint, embedding a webshell (e.g., .php extension) within the hidden file field.
  4. The plugin's validation pipeline fails to apply standard extension restrictions due to the field's 'Hidden' status.
  5. The file data is passed to the upload_file() function for persistence.
  6. The web server saves the attacker-supplied file to a reachable directory.
  7. Attacker executes the uploaded file via a direct HTTP request to the stored location.
  8. Attacker gains RCE and proceeds with further post-exploitation activities.

Impact

Successful exploitation allows unauthenticated attackers to execute arbitrary code on the web server. This leads to full site compromise, potential data exfiltration of user records or database contents, and the installation of persistent backdoors or web shells, affecting any WordPress environment utilizing vulnerable versions of the plugin.

Recommendation

  • Immediately upgrade the Gravity Forms plugin to the latest patched version available.
  • Audit all active Gravity Forms on public-facing pages for File Upload fields with 'Hidden' visibility.
  • Temporarily disable File Upload fields in public forms until the plugin is updated.
  • Monitor web server access logs for anomalous POST requests to form submission endpoints followed by immediate requests to newly created files in the uploads directory.

Immediate actions

Upgrade Gravity Forms to a version beyond 3.1.0.4

IT Operations 24h

Threat Hunt

Search web logs for POST requests to form endpoints containing .php or .phtml in arguments

T1505.002 high high confidence hunt now

Data: Web server access logs

Mitigations

Disable File Upload fields with Hidden visibility on all public Gravity Forms

immediate IT Operations

CVE-2026-84434

Detection coverage 1

Detect CVE-2026-84434 Exploitation - Suspicious File Upload to Gravity Forms

critical

Detects potential exploitation attempts of CVE-2026-84434 by identifying requests to common Gravity Forms endpoints involving suspicious file extensions via POST methods.

sigma tactics: execution, initial_access techniques: T1203, T1505.002 sources: webserver

Detection queries are available on the platform. Get full rules →