SignUp & SignIn <= 1.0.0 — Unauthenticated Privilege Escalation via Weak Password Reset Validation via 'reset_activation_code' Leading to Account Takeover
CVE-2026-12417Published · Updated Action summary
Affected: ≤1.0.0No patch available
What to do until a fix ships- Severity
- Critical9.8
- CVSS
- 9.8CVSS 3.1 · CNA (Wordfence)
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HWhat does this vector mean?
AV:NAttack vector- Network
AC:LAttack complexity- Low
PR:NPrivileges required- None
UI:NUser interaction- None
S:UScope- Unchanged
C:HConfidentiality- High
I:HIntegrity- High
A:HAvailability- High
- Required access
- No account needed
- Exploit prediction (EPSS)
- No score
- CISA KEV
- Not listed
On this page7
Am I affected?
SignUp & SignIn signup-signin
- Affected≤ 1.0.0
- PatchedNo fix yet
No patched version available.
You are affected if you run ≤ 1.0.0. No fixed version has been released.
- Check your version: in wp-admin go to Plugins → Installed Plugins and read the version under SignUp & SignIn.
- No admin access? Run a passive check of your site. It reads public files only.
- No account is needed to exploit this. Treat any exposed site on an affected version as at risk.
What to do
- 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.
- Rotate administrator passwords and application secrets if the site ran a vulnerable version while publicly reachable.
- Watch SignUp & SignIn to get an email when the next vulnerability is published.
Advisory
Source description from Wordfence Intelligence, credited to Alyudin Nafiie.
The SignUp & SignIn plugin for WordPress is vulnerable to Authentication Bypass via Weak Password Reset Validation leading to Account Takeover in versions up to, and including, 1.0.0. This is due to the `pravel_change_password()` AJAX handler — registered via `wp_ajax_nopriv_pravel_change_password` and therefore accessible to unauthenticated users — performing no nonce verification, no capability check, and only a loose equality check between an attacker-supplied `reset_activation_code` POST parameter and the target user's `forgot_email` user meta value; when a user has never initiated a password reset, `get_user_meta()` returns an empty string that trivially satisfies this check against an omitted or empty attacker-supplied code. This makes it possible for unauthenticated attackers to change the password of any WordPress user, including administrators, by sending a crafted POST request to `admin-ajax.php` with `action=pravel_change_password`, `reset_user_id` set to the target account's user ID, and `new_password_custom` set to an attacker-chosen password. Successful exploitation allows the attacker to authenticate with the newly set password and fully take over the targeted account, achieving administrator-level privilege escalation on the affected site.
Exploits & references
Proof-of-concept & detection
No public proof-of-concept or detection template is known for this vulnerability.
Advisories & patches
- Advisorywordfence.com
Timeline
CVE published
Severity critical, CVSS 9.8
Record last updated
Sources & licenses
Wordfence record- Vulnerability data
- Wordfence Intelligence. Copyright 2012-2026 Defiant Inc. Licensed under the CC BY-SA 4.0.
- CVE® identifiers
- Copyright 1999-2026 The MITRE Corporation. Used under the CVE Program. CVE® is a registered trademark of The MITRE Corporation.
- CVSS / CWE
- National Vulnerability Database (NVD), shown unmodified. This product uses the NVD API but is not endorsed or certified by the NVD.
- VulnCrest content
- Summary, remediation guidance and page layout © VulnCrest. Not sourced from NVD.
