MW WP Form <= 5.1.1 — Unauthenticated Arbitrary File Move via regenerate_upload_file_keys
CVE-2026-5436Published · Updated Action summary
Affected: ≤5.1.1Update to 5.1.2 or newer
All remediation steps- Severity
- High8.1
- CVSS
- 8.1CVSS 3.1 · CNA (Wordfence)
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:HWhat does this vector mean?
AV:NAttack vector- Network
AC:HAttack complexity- High
PR:NPrivileges required- None
UI:NUser interaction- None
S:UScope- Unchanged
C:HConfidentiality- High
I:HIntegrity- High
A:HAvailability- High
- Weakness
- CWE-22 Path Traversal
- Required access
- No account needed
- Exploit prediction (EPSS)
- No score
- CISA KEV
- Not listed
On this page8
Am I affected?
MW WP Form mw-wp-form
- Affected≤ 5.1.1
- Patched in5.1.2
Update to 5.1.2 or newer.
You are affected if you run ≤ 5.1.1. Version 5.1.2 and later are not affected by this issue.
- Check your version: in wp-admin go to Plugins → Installed Plugins and read the version under MW WP Form.
- No admin access? Run a passive check of your site. It reads public files only.
- No account is needed to exploit this. Treat any exposed site on an affected version as at risk.
What to do
- Update to version 5.1.2, or a newer patched version
- Rotate administrator passwords and application secrets if the site ran a vulnerable version while publicly reachable.
- Watch MW WP Form to get an email when the next vulnerability is published.
Advisory
Source description from Wordfence Intelligence, credited to Sander Horsman.
The MW WP Form plugin for WordPress is vulnerable to Arbitrary File Move/Read in all versions up to and including 5.1.1. This is due to insufficient validation of the $name parameter (upload field key) passed to the generate_user_file_dirpath() function, which uses WordPress's path_join() — a function that returns absolute paths unchanged, discarding the intended base directory. The attacker-controlled key is injected via the mwf_upload_files[] POST parameter, which is loaded into the plugin's Data model via _set_request_valiables(). During form processing, regenerate_upload_file_keys() iterates over these keys and calls generate_user_filepath() with the attacker-supplied key as the $name argument — the key survives validation because the targeted file (e.g., wp-config.php) genuinely exists at the absolute path. The _get_attachments() method then re-reads the same surviving keys and passes the resolved file path to move_temp_file_to_upload_dir(), which calls rename() to move the file into the uploads folder. This makes it possible for unauthenticated attackers to move arbitrary files on the server, which can easily lead to remote code execution when the right file is moved (such as wp-config.php). The vulnerability is only exploitable if a file upload field is added to the form and the “Saving inquiry data in database” option is enabled.
Exploits & references
Proof-of-concept & detection
No public proof-of-concept or detection template is known for this vulnerability.
Advisories & patches
- Advisorywordfence.com
Related CVEs
More in MW WP Form
All 14| Severity | Vulnerability | CVE | Published |
|---|---|---|---|
| Medium5.3 | Unauthenticated Sensitive Information Exposure in 'post_id' Parameter ≤5.1.7Update to 5.1.8 | CVE-2026-92086 | |
| High7.2 | Unauthenticated Stored Cross-Site Scripting via 'post_id' Parameter (via stored form-submitted post meta) ≤5.1.7Update to 5.1.8 | CVE-2026-96567 | |
| Medium4.4 | Authenticated (Editor+) Stored Cross-Site Scripting <5.1.6Update to 5.1.6 | CVE-2026-78364 | |
| Medium6.5 | Unauthenticated Arbitrary Shortcode Execution <5.1.5Update to 5.1.5 | CVE-2026-78363 | |
| Medium4.4 | Authenticated (Editor+) Stored Cross-Site Scripting via 'memo' Parameter ≤5.1.3Update to 5.1.4 | CVE-2026-8853 |
- Medium5.3Unauthenticated Sensitive Information Exposure in 'post_id' Parameter
≤5.1.7Update to 5.1.8
- High7.2Unauthenticated Stored Cross-Site Scripting via 'post_id' Parameter (via stored form-submitted post meta)
≤5.1.7Update to 5.1.8
- Medium4.4Authenticated (Editor+) Stored Cross-Site Scripting
<5.1.6Update to 5.1.6
- Medium6.5Unauthenticated Arbitrary Shortcode Execution
<5.1.5Update to 5.1.5
- Medium4.4Authenticated (Editor+) Stored Cross-Site Scripting via 'memo' Parameter
≤5.1.3Update to 5.1.4
Same weakness (Path Traversal)
All Path Traversal| Severity | Vulnerability | CVE | Published |
|---|---|---|---|
| High7.2 | Unauthenticated Stored Cross-Site Scripting via Comment User-Agent Header | CVE-2026-120688 | |
| Critical9.8 | Unauthenticated Arbitrary File Upload via File Upload via Public Form Submission | CVE-2026-125055 | |
| Critical9.8 | Unauthenticated PHP Object Injection to Remote Code Execution via 'form' Parameter | CVE-2026-119077 | |
| Medium5.3 | Unauthenticated Sensitive Information Exposure in 'search' Parameter | CVE-2026-121518 |
- High7.2Unauthenticated Stored Cross-Site Scripting via Comment User-Agent Header
EZ SQL Reports Shortcode Widget and DB Backup
≤5.25.25Update to 5.26.45
- Critical9.8Unauthenticated Arbitrary File Upload via File Upload via Public Form Submission
Chatterbug Forms – Fast, Flexible WordPress Form Builder
≤1.0.2Update to 1.1
- Critical9.8Unauthenticated PHP Object Injection to Remote Code Execution via 'form' Parameter
ELEX WordPress HelpDesk & Customer Ticketing System
≤3.3.9Update to 3.4.0
- Medium5.3Unauthenticated Sensitive Information Exposure in 'search' Parameter
Customer Reviews for WooCommerce
≤5.127.0Update to 5.128.0
Timeline
CVE published
Severity high, CVSS 8.1
Record last updated
Sources & licenses
Wordfence record- Vulnerability data
- Wordfence Intelligence. Copyright 2012-2026 Defiant Inc. Licensed under the CC BY-SA 4.0.
- CVE® identifiers
- Copyright 1999-2026 The MITRE Corporation. Used under the CVE Program. CVE® is a registered trademark of The MITRE Corporation.
- CVSS / CWE
- National Vulnerability Database (NVD), shown unmodified. This product uses the NVD API but is not endorsed or certified by the NVD.
- VulnCrest content
- Summary, remediation guidance and page layout © VulnCrest. Not sourced from NVD.
