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

EPSS: 0.179 (96.9th percentile) — read the EPSS interpretation.

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.

Affected products

  • Wordpress — versions 4.9.7
  • N/a — versions n/a

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.