CVE-2025-13407
Remote Code Execution via File Upload in Gravity Forms Plugin
Publication date: 2025-12-24
Last updated on: 2025-12-24
Assigner: WPScan
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| gravity_forms | gravity_forms | * |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
How can this vulnerability impact me? :
This vulnerability can have a severe impact as it allows attackers to upload and execute arbitrary PHP code on your WordPress site running the vulnerable Gravity Forms plugin. This Remote Code Execution (RCE) can lead to full site compromise, including unauthorized access, data theft, site defacement, installation of malware, or use of the site as a launchpad for further attacks. [1]
Can you explain this vulnerability to me?
CVE-2025-13407 is a vulnerability in the Gravity Forms WordPress plugin versions before 2.9.23.1. It allows attackers to upload dangerous files, specifically PHP files, through the plugin's chunked upload functionality. The plugin does not properly restrict file types during the upload process, enabling attackers to bypass checks by uploading PHP files in multiple chunks with manipulated filenames. Once uploaded, these PHP files can be executed remotely if the attacker discovers or enumerates the upload path, leading to Remote Code Execution (RCE) on the affected site. [1]
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by checking for the presence of suspicious PHP files uploaded via the Gravity Forms chunked upload path. You can look for PHP files in the temporary upload directories under `./wp-content/uploads/gravity_forms/` with commands such as: `find ./wp-content/uploads/gravity_forms/ -type f -name '*.php*'` to identify files with PHP extensions or suspicious suffixes. Additionally, monitoring HTTP requests for chunked file uploads to Gravity Forms endpoints may help detect exploitation attempts. The provided Python script in the resource automates detection by parsing forms and attempting chunked uploads with manipulated filenames. [1]
What immediate steps should I take to mitigate this vulnerability?
The immediate mitigation step is to update the Gravity Forms WordPress plugin to version 2.9.23.1 or later, where this vulnerability is fixed. Until the update can be applied, restrict file upload permissions, disable or limit the chunked upload functionality if possible, and monitor upload directories for suspicious files. Additionally, restrict access to the upload directories via web server configuration to prevent execution of uploaded PHP files. [1]