# Clean Login <= 1.111 - Unauthenticated Authentication Bypass via Reusable Password Restore Link

- **ID:** WPSEC-2026-2041
- **Plugin:** Clean Login (`clean-login`), https://wordpress.org/plugins/clean-login/
- **Affected versions:** all versions before 2.0
- **Fixed in:** 2.0 (Update to 2.0 or later.)
- **Severity:** High 8.1 (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H)
- **Weakness:** CWE-640
- **Usage among sites WPSec scans:** plugin Low, affected versions None seen (as of 2026-10-30)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/clean-login
- **Fix released:** 2026-10-29
- **Published:** 2026-10-30
- **URL:** https://wpsec.com/vuln/WPSEC-2026-2041/

## Description

The Clean Login plugin for WordPress is vulnerable to Authentication Bypass via the password restore link in all versions up to, and including, 1.111, due to a weak password recovery mechanism. The restore link was protected only by a WordPress nonce whose action was the bare user ID and which was created for a logged-out visitor, instead of a single-use password reset key. The link was not invalidated after use and stayed valid for 12-24 hours, and opening it logged the visitor in as the target user. This makes it possible for unauthenticated attackers who obtain a leaked or previously used restore link to log in as that user, including administrators, and take over the account.

## References

- https://wpsec.com/vuln/WPSEC-2026-2041/
- https://plugins.svn.wordpress.org/clean-login/tags/2.0/
- https://wordpress.org/plugins/clean-login/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-2041/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
