CVE-2026-7567 EXPLOIT
Patch early
A public exploit exists.
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.
Scoring
| CVSS | 9.8 (CRITICAL, v3.1) |
|---|---|
| Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| EPSS | 2.93% — more likely to be exploited than 87% of all CVEs |
| Weakness | CWE-288 |
| On CISA KEV | no |
| Public exploit | yes |
| Published | 2026-05-01 |
| Last modified | 2026-06-17 |
Public exploits
| Source | Title | Date |
|---|---|---|
| exploit-db | Wordpress Temporary Login Plugin 1.0.0 - 'temp-login-token' Authentication Bypass to Account Takeover | 2026-05-26 |
References
- https://plugins.trac.wordpress.org/browser/temporary-login/tags/1.0.0/core/admin.php#L135
- https://plugins.trac.wordpress.org/browser/temporary-login/tags/1.0.0/core/admin.php#L179
- https://plugins.trac.wordpress.org/browser/temporary-login/tags/1.0.0/core/options.php#L157
- https://plugins.trac.wordpress.org/browser/temporary-login/trunk/core/admin.php#L135
- https://plugins.trac.wordpress.org/browser/temporary-login/trunk/core/admin.php#L179
- https://plugins.trac.wordpress.org/browser/temporary-login/trunk/core/options.php#L157
- https://www.wordfence.com/threat-intel/vulnerabilities/id/f97c669b-86c1-4873-a050-76972f494099?source=cve
→ the Explorer · watch your stack · NVD