<?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/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Cpe:2.3:a:wpwham:checkout_files_upload:*:*:*:*:*:wordpress:*:* - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/cpes/cpe2.3awpwhamcheckout_files_uploadwordpress/</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>Sat, 31 Oct 2026 00:04:37 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/cpes/cpe2.3awpwhamcheckout_files_uploadwordpress/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Checkout Files Upload for WooCommerce: Unauthenticated Remote Code Execution (CVE-2026-103688)</title><link>https://feed.craftedsignal.io/briefs/2026-10-checkout-files-upload-rce/</link><pubDate>Sat, 31 Oct 2026 00:04:37 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-10-checkout-files-upload-rce/</guid><description>An unauthenticated file upload vulnerability in the Checkout Files Upload for WooCommerce plugin allows remote attackers to execute arbitrary PHP code due to improper file type validation and exposed AJAX handlers.</description><content:encoded><![CDATA[<p>The Checkout Files Upload for WooCommerce plugin (prior to version 2.4.0) contains an unauthenticated file upload vulnerability tracked as CVE-2026-103688. The vulnerability arises because the plugin fails to enforce file type validation if the &quot;Accepted file types&quot; setting is left blank. The AJAX action <code>alg_ajax_file_upload</code> is accessible to unauthenticated users via the <code>wp_ajax_nopriv_</code> hook, and the required nonce is exposed to all visitors on the checkout page. Exploitation results in the ability to upload executable PHP files to a public web directory, facilitating remote code execution.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies a WordPress site running the Checkout Files Upload plugin with an empty &quot;Accepted file types&quot; configuration.</li>
<li>The attacker visits the checkout page to retrieve a valid nonce for the <code>wpwham-checkout-files-upload-0</code> action.</li>
<li>The attacker submits a <code>multipart/form-data</code> request to <code>/wp-admin/admin-ajax.php</code> containing the nonce, <code>file_uploader</code> identifier, and a malicious PHP file.</li>
<li>The plugin stores the malicious file in a temporary location and moves it to <code>wp-content/uploads/woocommerce_uploads/alg_uploads/checkout_files_upload/</code> upon order creation or submission.</li>
<li>The attacker requests the uploaded PHP file directly via the web server to execute arbitrary code with the privileges of the web service user.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows unauthenticated attackers to execute arbitrary PHP code on the server, leading to full site compromise, data exfiltration, and potential lateral movement within the hosting environment.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Update the &quot;Checkout Files Upload for WooCommerce&quot; plugin to version 2.4.0 or later immediately.</li>
<li>If immediate patching is not possible, configure an explicit &quot;Accepted file types&quot; allow-list (e.g., jpg,jpeg,png,pdf) for every uploader instance in the plugin settings.</li>
<li>Block direct PHP execution in the uploads directory by adding the following directive to your web server configuration (Nginx or Apache) to prevent webshell execution.</li>
<li>Audit the <code>wp-content/uploads/woocommerce_uploads/alg_uploads/checkout_files_upload/</code> directory for any unexpected files.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>wordpress</category><category>webshell</category><category>remote-code-execution</category><category>file-upload</category></item></channel></rss>