WordPress Core <= 7.1 - Authenticated (Contributor+) Path Traversal via REST Templates Controller

2026-09-17 00:00
Anthropic

Strategic Overview

Status
Patched in 6.6.8
Affected Core
WordPress 7.1
Affected Version
5.8 – 7.1 · 6 branches
CVSS
4.3Medium
Weakness type
CWE-22 · Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
CVE
CVE pending
View all WordPress 7.1 vulnerabilities

At a glance

This record tracks a medium-severity Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') vulnerability in the WordPress 7.1 WordPress release line, affecting 5.8 – 7.1 · 6 branches. It carries a CVSS score of 4.3 (reachable over the network; low attack complexity). Exploitation requires an authenticated account at Contributor level or above. The issue is fixed in version 6.6.8; sites on affected versions should update now. Disclosed September 2026, reported by Anthropic.

Vulnerability Overview

WordPress Core is vulnerable to Path Traversal via the _get_block_template_file() function used by the REST templates controller (/wp/v2/templates/<id>?source=theme) in various versions up to, and including, 7.1 due to the template slug being resolved into a file path without directory containment. Because the route regex forbids '.' but the sanitize callback urldecodes twice, a double-encoded traversal reaches file resolution. This makes it possible for authenticated attackers with Contributor-level access and above to read arbitrary .html files outside the theme template directory.

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.

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

WordPress 7.1 5.8 – 7.1 · 6 branches carries this weakness at _get_block_template_file(), and reaching it takes an account at Contributor level or above. 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 7.1 the fix is 6.6.8: builds 5.8 – 7.1 · 6 branches are affected, anything from 6.6.8 onward is not.

Remediation

Update to one of the following versions, or a newer patched version: 6.6.8, 6.7.8, 6.8.9, 6.9.8, 7.0.5, 7.1.1

How does WordSec protect against this?

An attacker needs Contributor 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. None of that substitutes for the fix: updating to 6.6.8 is the step that ends it.

  • Firewall
  • Alerts

External References

Related records

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