Security notice
WooCommerce store using Checkout Files Upload? A flaw rated 9.8 can let anyone upload a PHP file. Update to 2.4.0.
Checkout Files Upload for WooCommerce is a WordPress plugin that lets shoppers upload files, such as artwork or documents, with their order. WordPress.org lists 7,000+ active installations. In versions before 2.4.0, if the plugin's "accepted file types" setting is left blank, which the plugin documented as the way to accept all files, anyone with no account can upload any file, including PHP code. On servers that run PHP from the uploads folder, that means a stranger running their own code on your site. The CVE record, CVE-2026-103688, published October 28, 2026, rates it 9.8 out of 10. Version 2.4.0, released October 20, 2026, fixes it. Patchstack labels the flaw "Known to be exploited" and web firewall company BitNinja said on November 3 that it is "actively exploited". Neither gives attack numbers or names a victim, and CISA does not list it as exploited. If your store runs this plugin, update it to 2.4.0 today, set the accepted file types to the list you actually need, and check the uploads folder for PHP files.
What happened
- The flaw. The CVE record, assigned by WPScan, says the plugin before 2.4.0 "does not validate uploaded file types when its accepted file types setting is left empty, which it documents as the way to accept all files, allowing unauthenticated users to upload arbitrary files, including PHP files that lead to remote code execution on servers that execute PHP from the uploads directory." We are leaving out the technical details. (CVE record, WPScan)
- How serious. CISA's enrichment in the CVE record and Wordfence rate it CVSS 9.8, which is 9.8 out of 10 and critical. Patchstack shows 10. NVD marks the entry "Deferred". Finder: Josef Azizov. (CVE record, Wordfence, Patchstack, NVD)
- Affected and fixed versions. All versions before 2.4.0. 2.4.0 is the fix, and it is the newest version on WordPress.org, which lists 7,000+ active installations. The plugin's changelog for 2.4.0, dated October 20, 2026, calls it a "Breaking Change": a blank setting no longer allows all files, only "certain file types allowed by WordPress", and any other type has to be entered by hand. Wordfence's text says "all versions up to 2.4.0", but its own affected and patched fields, like WPScan and Patchstack, say before 2.4.0, and 2.4.0 is patched. (WordPress.org, changelog, Wordfence, WPScan, Patchstack)
- A paid edition. PowerSEC notes that the maker, WP Wham, also sells a Premium edition, and that its fixed build should be confirmed with WP Wham. We could not check it. (PowerSEC)
- Attacks: what the sources say. Patchstack labels the flaw "Known to be exploited! (KEV)", which PowerSEC points out is Patchstack's own label, not CISA's. On November 3, BitNinja said it is "actively exploited, and a public proof of concept is available" and added a firewall rule for it. Neither gives attack numbers, dates or victims. (Patchstack, PowerSEC, BitNinja)
- Where the sources differ. CISA's own assessment in the CVE record, dated October 28, lists exploitation as "none". WPScan says its proof of concept will be shown on November 26, 2026, and PowerSEC says it could not find a public one elsewhere on October 29. We did not look for or link any exploit. CISA KEV does not list this flaw in its catalog version dated November 3, 2026, which we checked directly on November 4. (CVE record, WPScan, PowerSEC, CISA KEV)
- Timeline. 2.4.0 came out on October 20. WPScan published its advisory on October 26 and the CVE record followed on October 28. A store that updated since October 20 has the fix. (changelog, WPScan, CVE record)
Who should worry
This is about WordPress stores running WooCommerce that let customers upload files at checkout or with an order. If you are not sure whether your store uses this plugin, ask your web developer or agency. Ask about this if any of these are true:
- Your store uses Checkout Files Upload for WooCommerce, by WP Wham, on a version before 2.4.0, or you do not know the version.
- Its "accepted file types" setting is blank, or you do not know what it is set to.
- You use the Premium edition and have not confirmed which build has the fix.
- An agency or developer built your store and you do not know which plugin handles customer uploads.
- You run a web agency or host and look after WooCommerce stores for clients.
If your store does not use this plugin, this notice does not apply to you.
What to do now
Do these today.
- Check if you have it. In your WordPress dashboard, open Plugins, then Installed Plugins, and look for "Checkout Files Upload for WooCommerce". Note the version. 2.4.0 has the fix.
- Update to 2.4.0 after taking a backup, and confirm the version afterwards. For the Premium edition, ask WP Wham for the fixed build. (WordPress.org, PowerSEC)
- Set an explicit list of allowed file types. In WooCommerce, then Settings, then Checkout Files Upload, enter only the types your store really needs, such as pdf or jpg. The 2.4.0 changelog says other types must now be listed by hand, so a store that needs more than WordPress's normal types will have to list them. Do not add script types such as php. (changelog, PowerSEC)
- Check for a break-in, especially if the setting was blank before you updated. Ask your developer or host to look for
.php,.phtmlor.pharfiles underwp-content/uploads, for requests to such files in the web server logs, and for administrator accounts and plugins you did not add. PowerSEC says a file that matches is not proof of an attack, a clean result is not proof of safety, and updating does not remove files uploaded before. If you find something you cannot explain, keep a copy of the site and involve your host. (PowerSEC) - Ask your host to stop PHP running in the uploads folder. PowerSEC suggests this as separate hardening. The CVE says code only runs on servers that run PHP from there. (PowerSEC, CVE record)
- If you cannot update today, deactivate the plugin until you can. That is our suggestion, not the maker's, and it will stop customer uploads while it is off.
- Check your store afterwards. Place a test order with a normal file and confirm the upload arrives with the order. (PowerSEC)
What to send your developer, agency or host
Checkout Files Upload for WooCommerce before 2.4.0 has a critical flaw, CVE-2026-103688 (CVSS 9.8, CVE published October 28, 2026): when the accepted file types setting is blank, unauthenticated users can upload arbitrary files, including PHP, which leads to remote code execution where PHP runs from the uploads directory. Patchstack labels it known to be exploited, and BitNinja said on November 3 that it is actively exploited. 2.4.0 (October 20, 2026) is the fix. Please update to 2.4.0, set an explicit list of allowed file types, check wp-content/uploads and the access logs for PHP files and requests to them, check for administrator accounts and plugins we do not recognize, and make sure PHP cannot run from the uploads folder. Thank you. Sources: CVE record, WPScan, Patchstack, BitNinja.
Common questions
Has my store been hacked?
This notice does not mean your store has been hacked. It means a critical flaw has a fix, and two security firms say it is being exploited. The way to know is to update and do the checks above.
Can EverThread tell me if I am affected?
No. EverThread does not test for this. We check your home page from the outside, the way a browser sees it. We cannot see which plugins your site runs, which versions they are on or what files are on your server, so if our scan does not warn you about this plugin, that does not mean you are safe. Our free scan does look at your home page for other common problems, such as an expired padlock certificate, missing browser safety settings and files that should not be public.
Is my store safe if the setting was not blank?
The CVE record describes the flaw only for a blank setting. Update anyway, since you may not know what the setting was in the past. (CVE record)
Is it on CISA's list?
No. CISA KEV does not list CVE-2026-103688 in its catalog version dated November 3, 2026, checked November 4. Patchstack's "KEV" label is its own. (CISA KEV, PowerSEC)
Where can I follow official updates?
The plugin's changelog, the WPScan advisory and the Wordfence entry. All current notices are on our notices page.
Security alerts by email
Hear about the next one first.
When a flaw puts websites at risk, we send one plain-English email: what happened, who it affects and what to do. It's free, whether or not you use EverThread.
Sources
- CVE Program: CVE-2026-103688, published October 28, 2026 by WPScan, checked November 4, 2026
- NVD: CVE-2026-103688, checked November 4, 2026
- WPScan: Checkout Files Upload for WooCommerce before 2.4.0, Unauthenticated Arbitrary File Upload, published October 26, 2026, checked November 4, 2026
- Wordfence: Checkout Files Upload for WooCommerce before 2.4.0, Unauthenticated Arbitrary File Upload, October 28, 2026, checked November 4, 2026
- Patchstack: Arbitrary File Upload in WordPress Checkout Files Upload for WooCommerce Plugin, checked November 4, 2026
- PowerSEC: Checkout Files Upload: The Blank Setting Behind a Critical Flaw, October 29, 2026, checked November 4, 2026. A security vendor's blog.
- BitNinja: 7 new WordPress plugin vulnerabilities, November 3, 2026, checked November 4, 2026. A security vendor's blog.
- WordPress.org: Checkout Files Upload for WooCommerce, version 2.4.0, 7,000+ active installations, and its changelog, checked November 4, 2026
- CISA: Known Exploited Vulnerabilities Catalog, catalog version dated November 3, 2026, read from CISA's own catalog file November 4, 2026; no entry for CVE-2026-103688