Swiss Toolkit For WP <= 1.4.6 - Authenticated (Author+) Arbitrary File Upload via upload_extension_files()
Strategic Overview
- Status
- Unpatched
- Affected Plugin
- Swiss Toolkit For WP
- Affected Version
<= 1.4.6- CVSS
- 8.8High
- Weakness type
- CWE-434 · Unrestricted Upload of File with Dangerous Type
- CVE
CVE-2026-2354
At a glance
CVE-2026-2354 is a high-severity Unrestricted Upload of File with Dangerous Type vulnerability in the Swiss Toolkit For WP WordPress plugin, affecting versions <= 1.4.6. It carries a CVSS score of 8.8 (reachable over the network; low attack complexity; high confidentiality, integrity, availability impact). Exploitation requires an authenticated account at Author level or above. No fixed release has been reported yet; treat installations running this software as exposed. Disclosed July 2026, reported by Williwollo (CybrX).
Vulnerability Overview
The Swiss Toolkit For WP plugin for WordPress is vulnerable to arbitrary file upload due to a flawed file type validation bypass in the `upload_extension_files()` function in all versions up to, and including, 1.4.6. The `upload_extension_files()` function hooks into WordPress's `wp_check_filetype_and_ext` filter and uses `strpos()` to check if a filename contains a configured extension string, rather than verifying the actual file extension. This makes it possible for authenticated attackers, with Author-level access and above, to upload arbitrary files (including PHP) on the affected site's server which may make remote code execution possible, granted the "Enhanced Multi-Format Image Support" feature is enabled with at least one extension (e.g., avif) in the allowed formats.
Technical Analysis
The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no interaction from a victim user. A successful exploit has high impact on confidentiality, integrity, availability — full site compromise territory.
CWE-434: Unrestricted Upload of File with Dangerous Type
Swiss Toolkit For WP <= 1.4.6 carries this weakness at upload_extension_files(), and reaching it takes an account at Author level or above. An unrestricted file upload lets a caller store a file whose type or destination the application does not properly constrain.
If an uploaded file lands anywhere the server will execute, the flaw becomes remote code execution and the site should be treated as fully compromised. No fixed build of this plugin is recorded for Swiss Toolkit For WP yet, so installs running <= 1.4.6 stay exposed until the vendor ships one.
Remediation
No known patch available. Please review the vulnerability's details in depth and employ mitigations based on your organization's risk tolerance. It may be best to uninstall the affected software and find a replacement.
How does WordSec protect against this?
An attacker needs Author access first, so the firewall sees the attempt as traffic from a logged-in account: 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. No patched version is recorded yet, which is the case where a filtering layer matters most, because there is nothing to update to.
- Firewall
- Scanner
- Alerts
External References
Related records
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C