Description
The Temporary Login plugin for WordPress is vulnerable to Authentication Bypass in versions up to and including 1.0.0. This is due to improper input validation in the maybe_login_temporary_user() function, which fails to verify that the 'temp-login-token' GET parameter is a scalar string before processing it. When the parameter is supplied as an array, PHP's empty() check is bypassed and sanitize_key() returns an empty string, which is then passed as the meta_value to get_users(). WordPress ignores an empty meta_value and returns all users matching the meta_key '_temporary_login_token', allowing authentication without a valid token. This makes it possible for unauthenticated attackers to authenticate as any active temporary login user by sending a single crafted GET request.
Problem types
CWE-288 Authentication Bypass Using an Alternate Path or Channel
Product status
Any version
Timeline
| 2026-04-30: | Disclosed |
Credits
TANG Cheuk Hei
References
www.wordfence.com/...-86c1-4873-a050-76972f494099?source=cve
plugins.trac.wordpress.org/...y-login/trunk/core/options.php
plugins.trac.wordpress.org/...in/tags/1.0.0/core/options.php
plugins.trac.wordpress.org/...ary-login/trunk/core/admin.php
plugins.trac.wordpress.org/...ogin/tags/1.0.0/core/admin.php
plugins.trac.wordpress.org/...ary-login/trunk/core/admin.php
plugins.trac.wordpress.org/...ogin/tags/1.0.0/core/admin.php