W3 Total Cache <= 2.9.4 - Unauthenticated Arbitrary File Read via 'f_array[]' Parameter
Strategic Overview
- Status
- Patched in 2.10.0
- Affected Plugin
- W3 Total Cache
- Affected Version
<= 2.9.4- CVSS
- 7.5High
- Weakness type
- CWE-22 · Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
- CVE
CVE-2026-9282
At a glance
CVE-2026-9282 is a high-severity Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') vulnerability in the W3 Total Cache WordPress plugin, affecting versions <= 2.9.4. It carries a CVSS score of 7.5 (reachable over the network; low attack complexity; high confidentiality impact). Exploitation requires no authentication. The issue is fixed in version 2.10.0; sites on affected versions should update now. Disclosed July 2026, reported by snr.
Vulnerability Overview
The W3 Total Cache plugin for WordPress is vulnerable to Directory Traversal in all versions up to, and including, 2.9.4 via the setupSources function. This makes it possible for unauthenticated attackers to read the contents of arbitrary files on the server, which can contain sensitive information. Exploitation requires enabling manual minify mode and supplying a manual-format minify filename so that the hash is empty and the f_array[] entries are not overwritten before reaching setupSources().
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 privileges on the target site, 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')
W3 Total Cache <= 2.9.4 carries this weakness at setupSources(), and reaching it takes no account at all. 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 W3 Total Cache the fix is 2.10.0: builds <= 2.9.4 are affected, anything from 2.10.0 onward is not.
Remediation
Update to version 2.10.0, or a newer patched version
How does WordSec protect against this?
Requests carrying this pattern arrive without a session, so nothing upstream of the firewall gets a chance to reject them: WordSec's web application firewall inspects request payloads before WordPress loads them. None of that substitutes for the fix: W3 Total Cache 2.10.0 closes this, and updating the plugin is the step that ends it.
- Firewall
- Login Security
- Alerts
External References
Related records
Same weakness class
Other vulnerabilities in W3 Total Cache
- 9.8CVE-2026-27384: W3 Total Cache <= 2.9.1 Arbitrary Code Execution
CVE-2026-27384 - 9.8CVE-2013-2010: W3 Total Cache <= 0.9.2.8 Remote Code Execution
CVE-2013-2010 - 8.8W3 Total Cache <= 0.9.4.1 Arbitrary File Upload
- 8.8W3 Total Cache <= 0.9.4 CSRF leading to Stored Cross-Site Scripting
- 8.6W3 Total Cache <= 0.9.4 SSRF leading to Host Information Disclosure
- 8.5CVE-2024-12365: W3 Total Cache <= 2.8.1 Server-Side Request Forgery
CVE-2024-12365 - 8.1CVE-2026-57623: W3 Total Cache <= 2.9.4 Arbitrary Code Execution
CVE-2026-57623 - 8.1CVE-2025-9501: W3 Total Cache <= 2.8.12 Command Injection
CVE-2025-9501
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C