WordPress Core < 6.4.3 - Authenticated(Administrator+) PHP File Upload
Strategic Overview
- Status
- Patched in 4.1.40
- Affected Core
- WordPress 6.4
- Affected Version
4.1 – 6.4.2 · 25 branches- CVSS
- 6.6Medium
- Weakness type
- CWE-434 · Unrestricted Upload of File with Dangerous Type
- CVE
CVE-2018-14028
At a glance
CVE-2018-14028 is a medium-severity Unrestricted Upload of File with Dangerous Type vulnerability in the WordPress 6.4 WordPress release line, affecting 4.1 – 6.4.2 · 25 branches. It carries a CVSS score of 6.6 (reachable over the network; high confidentiality, integrity, availability impact). Exploitation requires an authenticated account at Administrator level or above. The issue is fixed in version 4.1.40; sites on affected versions should update now. Disclosed August 2018, reported by Vinicius Marangoni.
Vulnerability Overview
In all current versions of WordPress Core before 6.4.3, plugins uploaded via the admin area are not verified as being ZIP files. This allows for PHP files to be uploaded. Once a PHP file is uploaded, the plugin extraction fails, but the PHP file remains in a predictable wp-content/uploads location, allowing for an attacker to then execute the file. This represents a security risk in limited scenarios where an attacker (who does have the required capabilities for plugin uploads) cannot simply place arbitrary PHP code into a valid plugin ZIP file and upload that plugin, because a machine's wp-content/plugins directory permissions were set up to block all new plugins. Please note that this requires administrator or super administrator permissions(on multisite installations) and only impacts heavily locked-down installations where even these users cannot install new plugins. CVE-2024-31210 may be a duplicate of this issue.
Technical Analysis
The vector marks this flaw as remotely reachable over the network, and no interaction from a victim user. A successful exploit has high impact on confidentiality, integrity, availability — full site compromise territory.
CWE-434: Unrestricted Upload of File with Dangerous Type
Reaching this weakness in WordPress 6.4 4.1 – 6.4.2 · 25 branches takes an account at Administrator level or above. An unrestricted file upload lets a caller store a file whose type or destination the application does not properly constrain.
If an uploaded file lands anywhere the server will execute, the flaw becomes remote code execution and the site should be treated as fully compromised. For WordPress 6.4 the fix is 4.1.40: builds 4.1 – 6.4.2 · 25 branches are affected, anything from 4.1.40 onward is not.
Remediation
Update to one of the following versions, or a newer patched version: 4.1.40, 4.2.37, 4.3.33, 4.4.32, 4.5.31, 4.6.28, 4.7.28, 4.8.24, 4.9.25, 5.0.21, 5.1.18, 5.2.20, 5.3.17, 5.4.15, 5.5.14, 5.6.13, 5.7.11, 5.8.9, 5.9.9, 6.0.7, 6.1.5, 6.2.4, 6.3.3, 6.4.3
How does WordSec protect against this?
An attacker needs Administrator access first, so the firewall sees the attempt as traffic from a logged-in account: WordSec's web application firewall inspects request payloads before WordPress loads them. Classes like this one can leave something behind, so the staged malware scanner is the second half: it looks for dropped files and modified code rather than for the request that created them. None of that substitutes for the fix: updating to 4.1.40 is the step that ends it.
- Firewall
- Scanner
- Alerts
External References
Related records
Same weakness class
- 8.8CVE-2011-3129: WordPress Core <= 3.1.2 Arbitrary File Upload
CVE-2011-3129 - 8.8CVE-2009-3890: WordPress Core <= 2.8.5 Arbitrary File Upload
CVE-2009-3890 - 8.8CVE-2007-3544: WordPress Core <= 2.2.1 Arbitrary File Upload
CVE-2007-3544 - 8.8CVE-2007-3543: WordPress Core <= 2.2 Arbitrary File Upload
CVE-2007-3543
Other vulnerabilities in WordPress 6.4
- 9.8CVE-2026-63030: WordPress Core 6.9 - 7.0.1 Remote Code Execution
CVE-2026-63030 - 9.8CVE-2024-31211: WordPress Core 6.4.0 - 6.4.1 RCE POP Chain
CVE-2024-31211 - 9.8WordPress Core < 6.0.3 SQL Injection via WP_Date_Query
- 9.8CVE-2021-29476: WordPress Core < 5.5.3 PHP Object Injection Gadget
CVE-2021-29476 - 9.8CVE-2017-16510: WordPress Core SQL Injection
CVE-2017-16510 - 9.8CVE-2017-14723: WordPress Core < 4.8.2 SQL Injection
CVE-2017-14723 - 9.8CVE-2007-6013: WordPress Core 1.5 - 2.3.1 Authorization Bypass
CVE-2007-6013 - 9.8CVE-2007-6318: WordPress Core < 2.3.2 SQL Injection
CVE-2007-6318
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C