Skip to main content
COSMICBYTEZLABS
NewsSecurityHOWTOsToolsTraining
StudyProjectsNewsletterHire MeAbout
Subscribe

Press Enter to search or Esc to close

News
Security
HOWTOs
Tools
Training
Study
Projects
Newsletter
Hire Me
About
RSS Feed
Reading List
Subscribe

Stay in the Loop

Get the latest security alerts, tutorials, and tech insights delivered to your inbox.

Subscribe NowFree forever. No spam.
COSMICBYTEZLABS

Your trusted source for IT intelligence, cybersecurity insights, and hands-on technical guides.

2931+ Articles
167+ Guides

CONTENT

  • Latest News
  • Security Alerts
  • HOWTOs
  • Checklists
  • Projects
  • Exam Prep

RESOURCES

  • Search
  • Browse Tags
  • Newsletter Archive
  • Reading List
  • RSS Feed

COMPANY

  • About Us
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CosmicBytez Labs. All rights reserved.

System Status: Operational
  1. Home
  2. Security
  3. Gravity Forms Unauthenticated File Upload Lets Attackers Achieve RCE
Gravity Forms Unauthenticated File Upload Lets Attackers Achieve RCE

Critical Security Alert

This vulnerability is actively being exploited. Immediate action is recommended.

SECURITYCRITICALCVE-2026-84434

Gravity Forms Unauthenticated File Upload Lets Attackers Achieve RCE

CVE-2026-84434 (CVSS 9.8) lets unauthenticated attackers bypass Gravity Forms' hidden-field validation to upload executable files. Patch now.

Dylan H.

Security Team

September 19, 2026
5 min read

Affected Products

  • Gravity Forms Plugin ≤ 3.1.0.4

Executive Summary

A critical arbitrary file upload vulnerability (CVE-2026-84434) has been disclosed in Gravity Forms, one of the most widely deployed WordPress form builder plugins with millions of active installations. The flaw carries a CVSS score of 9.8 and lets unauthenticated attackers upload files that may execute on the server, leading to remote code execution.

CVSS Score: 9.8 (Critical)

The bug lives in a mismatch between Gravity Forms' field validation pipeline and its file persistence pipeline. When a form includes a File Upload field with its visibility set to Hidden, extension validation is skipped during the validation stage — but the plugin's upload_file() function still writes the submitted file to disk without re-checking it. An attacker only needs access to a public page containing such a form; no account or credentials are required.


Vulnerability Overview

AttributeValue
CVE IDCVE-2026-84434
CVSS Score9.8 (Critical)
CWECWE-434 (Unrestricted Upload of File with Dangerous Type)
TypeUnauthenticated Arbitrary File Upload → RCE
Attack VectorNetwork (no authentication required)
Privileges RequiredNone
User InteractionNone
ConditionTarget form must contain a File Upload field with Visibility set to Hidden
Discovered By0xd4rk5id3 (EnvoraSec), via Wordfence

Affected Versions

PluginAffected VersionsFixed Version
Gravity Forms≤ 3.1.0.43.1.0.5

Attack Vector

1. Attacker identifies a publicly accessible Gravity Forms form
2. Form contains a File Upload field configured with Visibility = Hidden
3. Hidden fields skip extension validation in the plugin's validation pipeline
4. Attacker POSTs a crafted request with a malicious file to the hidden field
5. upload_file() persists the file to wp-content/uploads/gravity_forms/ without re-validation
6. If the upload directory allows script execution, the file runs as code

Gravity Forms typically ships .htaccess rules that block PHP execution inside its upload directory, so real-world impact depends heavily on server configuration — non-Apache stacks (nginx, alternate docroots, misconfigured rewrite rules) are at the highest risk of full RCE. Even where execution is blocked, the upload itself still succeeds, which can be chained with other flaws or used to plant files for later retrieval.

Impact of Successful Exploitation

ImpactDescription
Remote Code ExecutionExecute arbitrary code where server config permits script execution in uploads
Unauthenticated AccessNo credentials or user interaction needed to trigger the upload
Webshell PersistenceUploaded files can survive plugin/core updates
Data ExfiltrationAccess to database credentials and site content via a planted webshell
Lateral MovementPivot to other sites on shared hosting environments

Immediate Remediation

Step 1: Update to Version 3.1.0.5

# Via WP-CLI
wp plugin update gravityforms
 
# Verify the installed version
wp plugin get gravityforms --field=version

Or update through WordPress admin: Plugins > Installed Plugins > Gravity Forms > Update Now.

Step 2: Audit Forms for Hidden File Upload Fields

  1. Review every published form in Forms > All Forms
  2. Check each File Upload field's Visibility setting
  3. Remove or set to Visible any hidden File Upload fields that aren't required to be hidden

Step 3: Scan for Existing Compromise

# Search for recently written files in the Gravity Forms upload directory
find /path/to/wordpress/wp-content/uploads/gravity_forms/ -type f -newer /path/to/wordpress/wp-includes/version.php
 
# Check for common webshell signatures
grep -rl "eval\s*(base64_decode" /path/to/wordpress/wp-content/uploads/gravity_forms/
grep -rl "system\s*(\|shell_exec\s*(" /path/to/wordpress/wp-content/uploads/gravity_forms/
 
# Verify WordPress core integrity
wp core verify-checksums

If Immediate Patching Is Not Possible

  1. Set all File Upload fields to Visible so extension validation applies
  2. Block script execution in wp-content/uploads/gravity_forms/ at the web server level (deny PHP/CGI execution)
  3. Deploy a WAF rule blocking POSTs with executable file extensions to Gravity Forms endpoints
  4. Monitor access logs for unusual POST traffic to form submission endpoints

Detection Indicators

IndicatorDescription
POST requests to Gravity Forms submission endpoints with executable payloadsExploitation attempts
New files in wp-content/uploads/gravity_forms/ with script extensionsSuccessful upload via the flaw
Requests directly accessing uploaded filesAttacker triggering a planted webshell
Outbound connections from the web server processPost-exploitation data exfiltration

Post-Remediation Steps

  1. Confirm plugin updated to 3.1.0.5 or later
  2. Audit all forms for hidden File Upload fields and correct visibility settings
  3. Scan the installation for webshells and unauthorized files
  4. Review user accounts for unauthorized administrators
  5. Rotate credentials — WordPress admin, database, API keys
  6. Regenerate WordPress security keys using wp config shuffle-salts
  7. Deploy a WAF for ongoing protection against upload-based attacks

References

  • Patchstack — WordPress Gravity Forms Plugin Unauthenticated Arbitrary File Upload
  • NIST NVD — CVE-2026-84434

Related Reading

  • Critical RCE in WPvivid Backup Plugin Threatens 900,000+
  • WordPress Plugin Vulnerability (CVSS 10.0) Under Active
  • CVE-2026-3589: WooCommerce CSRF Flaw Allows Unauthenticated
#WordPress#RCE#CVE-2026-84434#Gravity Forms#Web Security#File Upload

Related Articles

CVE-2026-56291: Balbooa Forms Unrestricted File Upload Enables Full RCE

A critical unauthenticated file upload vulnerability in Balbooa Forms for Joomla allows attackers to upload executable files and achieve full remote code...

3 min read

Sigma Forms Pro WordPress Plugin: Unauthenticated RCE via File Upload (CVE-2026-14494)

CVE-2026-14494 (CVSS 9.8) lets unauthenticated attackers upload PHP webshells through Sigma Forms Pro's default form templates. No patch yet.

5 min read

CVE-2026-14894: WordPress Super Forms Plugin Critical Arbitrary File Upload

A critical unauthenticated arbitrary file upload vulnerability in the Super Forms plugin for WordPress (CVSS 9.8) allows attackers to upload and execute...

3 min read
Back to all Security Alerts