CVE-2025-9501

W3 Total Cache <= 2.8.12 - Unauthenticated Command Injection

2025-10-27 00:00
wesley (wcraft)

Strategic Overview

Status
Patched in 2.8.13
Affected Plugin
W3 Total Cache
Affected Version
<= 2.8.12
CVSS
8.1High
Weakness type
CWE-78 · Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
CVE
CVE-2025-9501
View all W3 Total Cache vulnerabilities

At a glance

CVE-2025-9501 is a high-severity Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') vulnerability in the W3 Total Cache WordPress plugin, affecting versions <= 2.8.12. It carries a CVSS score of 8.1 (reachable over the network; high confidentiality, integrity, availability impact). Exploitation requires no authentication. The issue is fixed in version 2.8.13; sites on affected versions should update now. Disclosed October 2025, reported by wesley (wcraft).

Vulnerability Overview

The W3 Total Cache plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 2.8.12 via _parse_dynamic_mfunc . This makes it possible for unauthenticated attackers to execute code on the server when comments are enabled and a post has been incorrectly injected with the mfunc tags. Please note we consider this to be a theoretical issue, and as such we rejected the original report from the researcher who then submitted this to WPScan. WPScan assigned a CVE ID, but we do not agree that this is a true security vulnerability. Exploitation of this issue is theoretical and requires gaining access to a secret value much like gaining access to a password.

Technical Analysis

The vector marks this flaw as remotely reachable over the network, and no privileges on the target site, and no interaction from a victim user. A successful exploit has high impact on confidentiality, integrity, availability — full site compromise territory.

CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')

The product constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component.

Remediation

Update to version 2.8.13, 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. Classes like this one can leave something behind, so the staged malware scanner is the second half: it looks for dropped files and modified code rather than for the request that created them. None of that substitutes for the fix: W3 Total Cache 2.8.13 closes this, and updating the plugin is the step that ends it.

  • Firewall
  • Scanner
  • Login Security

External References

Related records

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