CVE-2016-7169

WordPress Core < 4.6.1 - Authenticated Directory Traversal to Arbitrary File Access

2016-09-07 00:00
Dominik Schilling

Strategic Overview

Status
Patched in 3.7.16
Affected Core
WordPress 4.6
Affected Version
3.7 – 4.6 · 11 branches
CVSS
6.5Medium
Weakness type
CWE-22 · Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
CVE
CVE-2016-7169
View all WordPress 4.6 vulnerabilities

At a glance

CVE-2016-7169 is a medium-severity Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') vulnerability in the WordPress 4.6 WordPress release line, affecting 3.7 – 4.6 · 11 branches. It carries a CVSS score of 6.5 (reachable over the network; low attack complexity; high confidentiality impact). Exploitation requires an authenticated account. The issue is fixed in version 3.7.16; sites on affected versions should update now. Disclosed September 2016, reported by Dominik Schilling.

Vulnerability Overview

Directory traversal vulnerability in the File_Upload_Upgrader class in wp-admin/includes/class-file-upload-upgrader.php in the upgrade package uploader in WordPress before 4.6.1 allows remote authenticated users to access arbitrary files via a crafted urlholder parameter.

Technical Analysis

The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no interaction from a victim user. A successful exploit has high impact on confidentiality.

CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Reaching this weakness in WordPress 4.6 3.7 – 4.6 · 11 branches takes any authenticated account. Path traversal happens when user-controlled text is used to build a filesystem path without being constrained to an intended directory, so sequences like ../ walk the resolved path somewhere else.

Depending on the operation, it means reading files outside the intended folder — wp-config.php being the usual target — or writing to and deleting paths the web server can touch. For WordPress 4.6 the fix is 3.7.16: builds 3.7 – 4.6 · 11 branches are affected, anything from 3.7.16 onward is not.

Remediation

Update to one of the following versions, or a newer patched version: 3.7.16, 3.8.16, 3.9.14, 4.0.13, 4.1.13, 4.2.10, 4.3.6, 4.4.5, 4.5.4, 4.6.1

How does WordSec protect against this?

The attempt arrives as an ordinary request to WordPress 4.6: WordSec's web application firewall inspects request payloads before WordPress loads them. None of that substitutes for the fix: updating to 3.7.16 is the step that ends it.

  • Firewall
  • Alerts

External References

Related records

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