Skip to main content
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Register free subscriber account
  2. Delivery
    POST crafted file URL via account form
  3. Exploit
    Bypass validate_file() (no literal ../)
  4. Install
    Invoke upload_file_remove() AJAX action
  5. C2
    uwp_get_file_relative_url() collapses tokens into traversal path
  6. Execute
    wp_delete_file() removes arbitrary server file
  7. Impact
    WordPress site destroyed or destabilized

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The target site must have the UsersWP plugin installed and active at version 1.2.70 or earlier. Exploitation requires an authenticated WordPress account with at minimum Subscriber-level access; on sites using UsersWP for membership or community functionality - its primary use case - open public registration is the default, allowing an attacker to self-provision a qualifying account. The WordPress AJAX endpoint (wp-admin/admin-ajax.php) handling upload_file_remove must be network-reachable, which is standard for any public-facing WordPress installation. No non-default plugin configuration or special deployment mode is required beyond the plugin being active. Exploitation is limited to file deletion (no read or overwrite); the attacker must specify the relative target path, though well-known WordPress paths such as wp-config.php are trivially guessable. The theoretical confidentiality boundary of C:N in the CVSS vector may not fully account for wp-config.php exposure during the deletion window.

Impact

The CVSS 8.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H) is well-supported by the vulnerability mechanics. Attack complexity is genuinely low once the crafted token format is understood, and Subscriber-level registration is typically open to the public on membership and community sites - the primary deployment context for UsersWP - making the effective privilege barrier minimal in practice. The C:N metric may technically understate real-world impact: deleting wp-config.php exposes database credentials in plaintext to any co-located process that reads the file before deletion, introducing a secondary confidentiality dimension not captured by the vector. EPSS data is absent from the input and cannot be assessed. No KEV listing or confirmed POC exists at time of analysis, but the Wordfence advisory's direct source-code references to class-forms.php:2432, misc.php:2107, and class-validation.php:194 provide sufficient technical specificity to accelerate exploit development. The fix exists in SVN trunk (changeset 3650759) but no tagged release version is independently confirmable, meaning sites relying on the WordPress.org auto-update channel may not yet be patched.

Exploit ScenarioDerived

An attacker self-registers a free Subscriber account on a WordPress membership site running UsersWP ≤ 1.2.70 - a common configuration for community portals. They submit a crafted account 'file' field containing the uploads base URL embedded within a token (e.g., 'http://example.com/wp-content/uploads..http://example.com/wp-content/uploads/../../wp-config.php'), which passes the validate_file() check because no literal '../' is present. On a subsequent AJAX call to upload_file_remove(), uwp_get_file_relative_url() collapses the embedded token into a directory traversal sequence, and wp_delete_file() removes wp-config.php from the server, taking the WordPress site offline. No confirmed public POC exists at time of analysis, though the Wordfence source-level write-up provides sufficient detail to reconstruct the technique.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 11, 2026

Arbitrary file deletion in UsersWP ≤ 1.2.70 for WordPress allows authenticated Subscriber-level users to delete any file on the server - including wp-config.php - via a path traversal bypass in the upload_file_remove() AJAX handler. The exploit exploits a two-phase validation failure: validate_file() only rejects literal '../' sequences, but the uwp_get_file_relative_url() helper later performs a global str_replace() that collapses crafted embedded tokens into directory traversal sequences after the final validation gate, with the result passed directly to wp_delete_file() without canonical containment. No public exploit code or CISA KEV listing is confirmed at time of analysis; however, the low privilege requirement and precise Wordfence source-level write-up substantially reduce the research barrier for threat actors.

RemediationAI

Upgrade UsersWP to the first release published after SVN trunk changeset 3650759 (https://plugins.trac.wordpress.org/changeset?new=3650759%40userswp%2Ftrunk&old=3618724%40userswp%2Ftrunk); the specific version number of the patched release is not independently confirmed from the available data, so administrators should check the WordPress plugin repository for the current stable version above 1.2.70 and apply it immediately. As an interim compensating control, site administrators can add a WAF or Nginx/Apache rule blocking POST requests to wp-admin/admin-ajax.php where the 'action' parameter equals 'uwp_upload_file_remove'. Alternatively, if open user registration is not required by the site's use case, disabling Subscriber-level self-registration raises the effective exploitation bar from unauthenticated to requiring an existing account. Note that disabling registration may break core plugin functionality. Monitor the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/dfa094d3-e8db-4402-ad23-e161b1b6181e for confirmed patched version details.

Affected VersionsENISA

UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WP 0 ≤1.2.70

Affected Packages

euvd userswp_front_end_login_form_user_registration_user_profile_members_directory_plugin_for_wp no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

UsersWP (CPE: cpe:2.3:a:stiofansisland:userswp_-_front-end_login_form,_user_registration,_user_profile_&_members_directory_plugin_for_wp:*:*:*:*:*:*:*:*) is a WordPress plugin providing front-end user registration, login, and profile management. The root cause is CWE-22 (Path Traversal) arising from a split-validation design flaw across two code paths. In process_account() (class-forms.php:2076), the account 'file' form field is taken directly from $_POST when no real $_FILES upload is present; uwp_validate_fields() and an array_merge with the empty result of UsersWP_Files::validate_uploads() store the raw value, gated only by validate_file() at class-validation.php:194, which permits any string lacking a literal '../'. When upload_file_remove() (class-forms.php:2432) later processes the stored value, it calls uwp_get_file_relative_url() (misc.php:2107), which performs a global str_replace() of the uploads base URL. An attacker-crafted value embedding the uploads base URL within a token - such as '/uploads..<base-url>/..' - survives the validate_file() check but collapses into '../../' after substitution. The resulting traversed path is then appended to the uploads base directory and passed to wp_delete_file() without any realpath() or wp_normalize_path()-based containment check.

Know when Userswp Front End Login Form User Registration User Profile Members Directory Plugin For Wp gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Wordfence) PRIMARY 8.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
vuln.today AI 8.1 HIGH

Network AJAX endpoint, low complexity once token format known, Subscriber PR:L; deletion-only impact means C:N, but I:H and A:H for wp-config.php destruction.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
High

DescriptionCVE.org

The UsersWP plugin for WordPress is vulnerable to Arbitrary File Deletion in versions up to, and including, 1.2.70 via the upload_file_remove() AJAX handler. The plugin stores the value of an account 'file' form field taken directly from $_POST when no real $_FILES upload is provided (process_account() calls uwp_validate_fields() and array_merges the result with the empty output of UsersWP_Files::validate_uploads()). At storage time the value is only checked with validate_file(), which passes any string that does not contain a literal '../'. When the value is later processed by upload_file_remove(), it is again gated with validate_file() and then normalized through uwp_get_file_relative_url(); that helper performs a global str_replace() of the uploads base URL against the stored URL, allowing a crafted URL containing embedded '..<uploads-baseurl>' tokens to collapse into '../../' traversal sequences after the last validation. The transformed value is then appended to the uploads base directory and passed to wp_delete_file() without any canonical containment check. 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.

Executive ViewAI

Why It Matters

UsersWP plugin (≤1.2.70) for WordPress allows any Subscriber-level user to delete critical site files-including wp-config.php-rendering the website inoperable. This affects all WordPress installations using this plugin, exposing organizations to service disruption attacks from trusted account holders, guest contributors, or credential-compromised users. No vendor patch is currently available, leaving affected sites in a critical, unpatched state.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Disable UsersWP plugin entirely if not critical to operations; (2) Restrict Subscriber account creation to trusted personnel and audit existing Subscriber accounts; (3) Implement restrictive file-system permissions on wp-config.php and core WordPress files; (4) Enable and test daily off-site backups to enable rapid recovery if file deletion occurs; (5) Configure WAF rules to block AJAX requests to upload_file_remove() endpoint if plugin must remain active; (6) Monitor user activity logs for Subscriber-level AJAX requests to suspicious file paths.

Threat Intelligence Overview

EPSS Score
0.4%
Top 64% exploitable
Prevalence
Medium
popular WordPress user registration and membership plugin
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Very High

Priority Score

40
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +40
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy