WordPress Core <= 7.1 - Authenticated (Contributor+) Path Traversal via REST Templates Controller
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
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
Same weakness class
Other vulnerabilities in WordPress 7.1
- 9.8CVE-2026-63030: WordPress Core 6.9 - 7.0.1 Remote Code Execution
CVE-2026-63030 - 9.8CVE-2024-31211: WordPress Core 6.4.0 - 6.4.1 RCE POP Chain
CVE-2024-31211 - 9.8WordPress Core < 6.0.3 SQL Injection via WP_Date_Query
- 9.8CVE-2021-29476: WordPress Core < 5.5.3 PHP Object Injection Gadget
CVE-2021-29476 - 9.8CVE-2017-16510: WordPress Core SQL Injection
CVE-2017-16510 - 9.8CVE-2017-14723: WordPress Core < 4.8.2 SQL Injection
CVE-2017-14723 - 9.8CVE-2007-6013: WordPress Core 1.5 - 2.3.1 Authorization Bypass
CVE-2007-6013 - 9.8CVE-2007-6318: WordPress Core < 2.3.2 SQL Injection
CVE-2007-6318
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C