<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>W3 Total Cache &lt; 2.9.2 — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/w3-total-cache--2.9.2/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Tue, 26 May 2026 11:01:30 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/w3-total-cache--2.9.2/feed.xml" rel="self" type="application/rss+xml"/><item><title>CVE-2026-27384: W3 Total Cache Unauthenticated RCE via eval() Code Injection</title><link>https://feed.craftedsignal.io/briefs/2026-05-w3-total-cache-rce/</link><pubDate>Tue, 26 May 2026 11:01:30 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-w3-total-cache-rce/</guid><description>A public exploit has been published for CVE-2026-27384, a critical unauthenticated remote code execution vulnerability in the W3 Total Cache WordPress plugin.</description><content:encoded><![CDATA[<p>A public exploit has been released for CVE-2026-27384, a critical vulnerability in the W3 Total Cache WordPress plugin (versions prior to 2.9.2). This vulnerability allows unauthenticated attackers to execute arbitrary PHP code on the server. The vulnerability lies in the Dynamic Fragment Caching feature (<code>mfunc/mclude</code> system). The vulnerability is due to a combination of factors, including the lack of <code>preg_quote()</code> in sanitizing the <code>W3TC_DYNAMIC_SECURITY</code> token, an inconsistency between <code>\s*</code> and <code>\s+</code> in regex matching, and missing token validation. An attacker can exploit this vulnerability by injecting malicious PHP code into a WordPress comment. The exploit was published on Sploitus and assigned a CVSS score of 9.8 (Critical).</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker identifies a WordPress site running a vulnerable version of the W3 Total Cache plugin (versions prior to 2.9.2).</li>
<li>The attacker crafts a malicious WordPress comment containing PHP code within <code>mfunc</code> tags, designed to bypass the <code>strip_dynamic_fragment_tags_from_string()</code> function due to the space mismatch vulnerability (\s* vs \s+).</li>
<li>The attacker posts the crafted comment to a vulnerable page on the WordPress site.</li>
<li>The WordPress site saves the comment, including the malicious payload, to the database and caches the page.</li>
<li>A second HTTP request to the cached page triggers the W3 Total Cache plugin to process the cached content.</li>
<li>The <code>_has_dynamic()</code> function checks for the existence of the <code>W3TC_DYNAMIC_SECURITY</code> constant but lacks proper validation, allowing the payload to proceed.</li>
<li>The <code>_parse_dynamic()</code> function, due to the missing <code>preg_quote()</code> function, incorrectly parses the token, leading to code injection.</li>
<li>The <code>_parse_dynamic_mfunc()</code> function executes the injected PHP code using <code>eval()</code>, resulting in unauthenticated remote code execution. The attacker can then perform actions such as gaining shell access, reading sensitive files, and compromising the server.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of CVE-2026-27384 allows an unauthenticated attacker to execute arbitrary PHP code on the affected server with the privileges of the web server user. This can lead to full server compromise, unauthorized access to the WordPress database and files, installation of a web shell for persistent access, and potential pivoting to internal networks. Since it is an unauthenticated vulnerability, any visitor can post a comment that injects malicious PHP code.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade the W3 Total Cache plugin to version 2.9.2 or later to patch CVE-2026-27384.</li>
<li>If upgrading is not immediately possible, define a strong, alphanumeric <code>W3TC_DYNAMIC_SECURITY</code> token in the <code>wp-config.php</code> file as a temporary mitigation.</li>
<li>Monitor web server logs for suspicious POST requests to comment submission endpoints (<code>/wp-comments-post.php</code>, <code>/wp-json/wp/v2/comments</code>) with payloads containing <code>mfunc</code> and <code>shell_exec</code>, as detailed in the attack chain (enable webserver logging to activate related rules).</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>rce</category><category>wordpress</category><category>code-injection</category><category>eval</category><category>w3-total-cache</category></item></channel></rss>