Arbitrary file upload in WordPress

CVE-2018-14028

In WordPress 4.9.7, 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.

Vulnerability class: Unrestricted File Upload

Published · last modified .

CVSS v3 metric

CVSS v3 base score 7.2 (High). Vector: CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H.

EPSS exploit prediction

EPSS: 0.152 (96.7th percentile), scored .

Moderate probability of exploitation in the next 30 days — watch for active exploitation reports. 97th percentile — 96.7% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.

EPSS trend (30 days)EPSS over the last 30 days for CVE-2018-14028: held from 0.154 to 0.152.

EPSS over last 30 days · oldest: 0.154 · newest: 0.152 · change: -0.001

Affected products

Weakness classification (CWE)

Public proof-of-concept exploits

References

Frequently asked questions

What is CVE-2018-14028?
CVE-2018-14028 is a high-severity vulnerability in WordPress, classified under Unrestricted Upload of File with Dangerous Type. CVSS score: 7.2/10. Published 2018-08-10.
How severe is CVE-2018-14028?
High severity. CVSS v3 base score is 7.2 out of 10.
Is CVE-2018-14028 known to be exploited?
2 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.