Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Remote, low-complexity, Subscriber-authenticated (PR:L) arbitrary deletion gives I:H/A:H; direct primitive discloses nothing so C:N, unlike the vendor's chain-based C:H.
Primary rating from Vendor (wordfence).
CVSS VectorVendor: wordfence
Lifecycle Timeline
2DescriptionCVE.org
The UsersWP plugin for WordPress is vulnerable to Arbitrary File Deletion in versions up to, and including, 1.2.65. This is due to insufficient validation of file-field values in the UsersWP_Validation::validate_fields() function (which falls through to sanitize_text_field() for fields of type 'file', leaving directory-traversal sequences intact) combined with the UsersWP_Forms::upload_file_remove() AJAX handler building the deletion target from the uploads basedir concatenated with the attacker-controlled metadata value without any realpath canonicalization or uploads-directory boundary check before calling unlink(). This makes it possible for authenticated attackers, with Subscriber-level access and above, to delete arbitrary files on the affected site's server, including wp-config.
AnalysisAI
Arbitrary file deletion in the UsersWP WordPress plugin (versions ≤ 1.2.65) lets authenticated Subscriber-level users delete any file on the server, including wp-config.php, which can escalate into full site takeover. The flaw stems from unsanitized directory-traversal sequences in file-field metadata reaching an unlink() call in the upload_file_remove() AJAX handler. Reported by Wordfence with no public exploit identified at time of analysis and no active-exploitation (KEV) listing; an upstream code fix is available.
Technical ContextAI
The vulnerability lives in AyeCode's UsersWP, a front-end user-registration, profile, and login plugin for WordPress. The root cause is a CWE-22 path traversal: UsersWP_Validation::validate_fields() treats fields of type 'file' by passing them only through WordPress's sanitize_text_field(), which strips tags and control characters but preserves '../' traversal sequences. The tainted metadata value is later consumed by UsersWP_Forms::upload_file_remove(), an AJAX handler that constructs the deletion path by concatenating the WordPress uploads basedir with the attacker-controlled value and calls unlink() without realpath() canonicalization or any check that the resolved path stays inside the uploads directory. Because unlink() runs with the web server's privileges, any file readable/writable by that user is deletable. Affected sink and validation code are visible in tags/1.2.65/includes/class-forms.php (around lines 1059, 1973, 2320-2323) and class-validation.php (line 190).
RemediationAI
Update UsersWP to the first release built from WordPress.org changeset 3590340 / GitHub commit ddb17ad30ff3384cda85c5f372db30b03bd45ac8, which adds proper path handling for file-field deletion; this is an upstream fix available via commit/changeset, and the exact released patched version is not independently confirmed from the provided data - treat the next release after 1.2.65 as the target and verify the fixed version on the plugin changelog before deploying. Until patched, reduce exposure by disabling new user self-registration (or tightening it to trusted users) so the Subscriber-level prerequisite cannot be met, which has the side effect of blocking legitimate sign-ups; alternatively, restrict or block the UsersWP file-remove AJAX action at a WAF or via server rules and back up wp-config.php, understanding that WAF rules on traversal sequences can be bypassed and may break legitimate file-removal functionality. See the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/b6cf6390-480f-44e2-ae36-67e3398add33) and the fix changeset (https://plugins.trac.wordpress.org/changeset/3590340/userswp) for details.
The mailSend function in the isMail transport in PHPMailer before 5.2.18 might allow remote attackers to pass extra para
The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
Remote code execution in WordPress 6.9.x (before 6.9.5) and 7.0.x (before 7.0.2) arises from a REST API batch endpoint r
Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-42686
GHSA-j69f-3cmp-jrjj