Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Remote authenticated Subscriber (PR:L) sends a single low-complexity request with no user interaction to gain Administrator, yielding full C/I/A impact on the same site (S:U).
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
Lifecycle Timeline
2DescriptionCVE.org
The Digits: WordPress Mobile Number Signup and Login plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 9.1.0.5. This is due to missing authorization and role validation in the dig_update_wpwc_custom_fields() function. This makes it possible for authenticated attackers, with Subscriber-level access and above, to escalate their privileges to Administrator by submitting a forged digits_reg_userrole value during profile update, granted the site administrator has configured the built-in DIGITS User Role field.
AnalysisAI
Privilege escalation in the Digits WordPress Mobile Number Signup and Login plugin (all versions through 9.1.0.5) lets authenticated Subscriber-level users promote themselves to Administrator by submitting a forged digits_reg_userrole value during a profile update. The flaw stems from the dig_update_wpwc_custom_fields() function failing to validate the caller's authorization or the requested role. There is no public exploit identified at time of analysis, but the low barrier (any registered user on an affected site with the DIGITS User Role field configured) and full-administrator outcome make this a high-priority patching item.
Technical ContextAI
Digits is a commercial WordPress authentication plugin that adds mobile-number-based OTP signup/login and profile management, published by UnitedOver (CPE: cpe:2.3:a:unitedover:digits:...). The vulnerable code path is dig_update_wpwc_custom_fields(), which handles saving custom user-profile fields - including a built-in 'DIGITS User Role' field. The root cause is CWE-269 (Improper Privilege Management): the function trusts a user-supplied digits_reg_userrole parameter and writes it to the account's role without a capability/authorization check (e.g. current_user_can) or an allow-list validating that a Subscriber may not assign the administrator role. In WordPress, the role determines all capabilities, so any code path that lets a low-privileged user set their own role is effectively a full account-takeover primitive.
RemediationAI
No exact fixed version is stated in the provided data, so treat this as: upstream fix status not independently confirmed - upgrade to the latest Digits release above 9.1.0.5 and verify against the vendor changelog (https://digits.unitedover.com/changelog/) that the build post-dates the fix for this issue. As an interim compensating control, disable/unconfigure the built-in DIGITS User Role custom field, which removes the exploitable code path (trade-off: sites relying on that field for role assignment lose that functionality). Additionally, temporarily disable open user registration or set the default new-user role handling to be tightly controlled to shrink the pool of Subscriber accounts an attacker can leverage, and audit existing user accounts for unexpected Administrator role changes. Review the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/02a283b2-a369-4927-a54a-61f26bee6ace?source=cve) for indicators and definitive fix version once published.
Unauthenticated privilege escalation in the Digits WordPress plugin (versions 9.2 and earlier by UnitedOver, LLC) allows
The Digits plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 8.4.1. Rat
The DIGITS: WordPress Mobile Number Signup and Login WordPress plugin before 8.4.6.1 does not rate limit OTP validation
Same weakness CWE-269 – Improper Privilege Management
View allSame technique Privilege Escalation
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-44897
GHSA-9xxr-jm2h-93xc