CVE-2018-14028

WordPress Core < 6.4.3 - Authenticated(Administrator+) PHP File Upload

2018-08-04 00:00
Vinicius Marangoni

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
View all WordPress 6.4 vulnerabilities

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

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C