Atomic Edge analysis of CVE-2025-14975:
This vulnerability is an unauthenticated privilege escalation via password reset in the Custom Login Page Customizer WordPress plugin. The affected component is the user registration and password handling functionality. The CVSS 9.8 score reflects the critical severity of this account takeover vulnerability.
The root cause lies in the plugin’s improper handling of user-supplied passwords during registration. The vulnerable function `logincust_set_password()` in `/login-customizer/src/Settings/Features/Custom_Register_Password.php` directly accepted the `user_pass` POST parameter without proper validation or authorization checks. This function was hooked to the `random_password` filter, allowing attackers to set arbitrary passwords for new user registrations. The plugin failed to verify the requesting user’s identity before processing password changes.
Exploitation occurs through the WordPress user registration endpoint. Attackers send a POST request to `/wp-login.php?action=register` containing malicious `user_pass` and `user_login` parameters. By specifying an existing administrator’s username in the `user_login` field and a new password in the `user_pass` field, the attacker triggers the vulnerable `logincust_set_password()` function. This overwrites the administrator’s password without requiring authentication or confirmation.
The patch removes the vulnerable `logincust_set_password()` function entirely and modifies the `update_default_password_nag()` function. In version 2.5.4, the plugin no longer hooks into the `random_password` filter. Instead, it directly calls `wp_set_password()` within `update_default_password_nag()` only after user creation completes. The patch adds proper sanitization with `sanitize_text_field()` and `wp_unslash()` before processing the password. This ensures password changes occur only during legitimate user registration flows.
Successful exploitation enables complete account takeover of any WordPress user, including administrators. Attackers gain full control over the compromised WordPress site, allowing them to install malicious plugins, modify themes, exfiltrate sensitive data, or establish persistent backdoors. This vulnerability bypasses all authentication mechanisms and represents a complete privilege escalation chain from unauthenticated to administrator access.







