CRITICAL🇵🇱 Wersja polska

CVE-2026-12417

CVSS 9.8v3.1pub. 2026-06-24upd. 2026-06-29

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.

🤖 AI Analysis
How it works

The AJAX handler `pravel_change_password()` registered as `wp_ajax_nopriv_pravel_change_password` is available to unauthenticated users without any nonce verification or permission checks. The password reset code validation mechanism relies solely on loose equality comparison of the POST parameter `reset_activation_code` with the user's `forgot_email` meta value. When a user has never initiated a password reset, the `get_user_meta()` function returns an empty string, which trivially satisfies this condition when the attacker omits or sends an empty parameter. The attacker sends a crafted POST request to `admin-ajax.php` with parameters `action=pravel_change_password`, `reset_user_id` set to the target account ID, and `new_password_custom` containing a password of their choice.

Impact

An unauthenticated attacker can set their own password for any WordPress account, including administrator accounts, and then log in and gain full control over the website, achieving privilege escalation to administrator level.

Mitigation & patch

Apply patches available from the vendor according to the references. Until updating, it is recommended to deactivate or remove the SignUp & SignIn plugin and monitor access logs for unauthorized requests to `admin-ajax.php` with the parameter `action=pravel_change_password`.

Who is affected

SignUp & SignIn plugin for WordPress in versions 1.0.0 and earlier

Analysis generated by Claude AI (Anthropic) based on NVD data. Always verify with vendor.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
🔵
CHECK WITH VENDOR
No clear patch data available. Check vendor references.
Tags
Auth BypassLPE
CWE
References