<?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>Easy Digital Downloads Plugin (&lt;= 3.6.9) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/easy-digital-downloads-plugin--3.6.9/</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>Wed, 29 Jul 2026 04:19:05 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/easy-digital-downloads-plugin--3.6.9/feed.xml" rel="self" type="application/rss+xml"/><item><title>Easy Digital Downloads Plugin Arbitrary File Upload Leads to RCE (CVE-2026-12476)</title><link>https://feed.craftedsignal.io/briefs/2026-07-easy-digital-downloads-file-upload/</link><pubDate>Wed, 29 Jul 2026 04:19:05 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-easy-digital-downloads-file-upload/</guid><description>The Easy Digital Downloads plugin for WordPress versions up to and including 3.6.9 is vulnerable to Arbitrary File Upload (CVE-2026-12476) due to insufficient file type validation, allowing authenticated attackers with Shop Manager-level access or higher to upload arbitrary files which can lead to remote code execution.</description><content:encoded><![CDATA[<p>A critical vulnerability, CVE-2026-12476, exists in the Easy Digital Downloads plugin for WordPress, affecting all versions up to and including 3.6.9. This flaw stems from improper file type validation within the <code>edd_do_ajax_import_file_upload()</code> function. Instead of robustly checking file contents or relying on WordPress's built-in MIME enforcement (<code>wp_handle_upload()</code>), the function only inspects the client-supplied <code>$_FILES['edd-import-file']['type']</code> Content-Type header against a narrow allow-list of CSV mime types. Following this superficial check, the <code>move_uploaded_file()</code> function is used, allowing files with arbitrary extensions (e.g., <code>.php</code> or <code>.phtml</code>) to be written to the web-accessible <code>wp-content/uploads/edd/exports/</code> directory. This makes it possible for authenticated attackers possessing Shop Manager-level access or higher to upload malicious files, such as web shells, ultimately leading to remote code execution on the compromised server. Defenders should prioritize patching and monitoring for suspicious file uploads and access attempts to the export directory.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An authenticated attacker with Shop Manager-level or higher privileges accesses the Easy Digital Downloads import file upload functionality, typically found within the WordPress administration interface.</li>
<li>The attacker crafts a malicious file, such as a PHP web shell (e.g., <code>shell.php</code>), designed to execute arbitrary commands on the server.</li>
<li>The attacker uploads the malicious file via the vulnerable <code>edd_do_ajax_import_file_upload()</code> function, manipulating the client-supplied <code>Content-Type</code> header to bypass the plugin's insufficient validation logic.</li>
<li>The <code>move_uploaded_file()</code> function writes the malicious file with its original, executable extension (e.g., <code>.php</code>) to the web-accessible directory: <code>wp-content/uploads/edd/exports/</code>.</li>
<li>The attacker sends an HTTP request to the newly uploaded malicious file, targeting its public URL (e.g., <code>example.com/wp-content/uploads/edd/exports/shell.php</code>).</li>
<li>The web server executes the malicious file, granting the attacker remote code execution capabilities on the underlying system, often as the web server's user.</li>
<li>The attacker can then perform further actions such as data exfiltration, creating persistent backdoors, or defacing the website.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of CVE-2026-12476 grants attackers remote code execution capabilities on the affected WordPress server. This allows for full compromise of the website, including data theft (e.g., customer information, payment details if stored on the server), website defacement, injection of malicious code into website content, and complete system takeover. Attackers can install persistent backdoors, launch further attacks against other systems, or use the compromised server as a pivot point within the network. The integrity, confidentiality, and availability of the affected WordPress site and potentially other systems on the same host are severely jeopardized.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Patch CVE-2026-12476 by updating the Easy Digital Downloads plugin to version 3.6.10 or later immediately.</li>
<li>Deploy the Sigma rule &quot;Detect Possible CVE-2026-12476 Post-Exploitation Access&quot; to your SIEM and tune for your environment to identify attempts to access web shells in the Easy Digital Downloads export directory.</li>
<li>Monitor web server access logs for suspicious HTTP POST requests to <code>/wp-admin/admin-ajax.php</code> containing <code>action=edd_do_ajax_import_file_upload</code>, especially if the <code>Content-Type</code> header is not a standard CSV type or if it contains suspicious filenames.</li>
<li>Regularly review user accounts with Shop Manager-level access or higher, as these are prerequisites for exploiting this vulnerability.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>web</category><category>arbitrary-file-upload</category><category>rce</category><category>wordpress</category><category>plugin</category></item></channel></rss>