{"id":"CVE-2026-7567","aliases":["EUVD-2026-26490","GHSA-4v98-7r2c-mxg7"],"status":"published","title":"Temporary Login \u003c= 1.0.0 - Authentication Bypass to Account Takeover","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.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.09246,"percentile":0.9539,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":false},"cwes":["CWE-288"],"published":"2026-05-01T09:26:06Z","modified":"2026-06-17T11:02:36Z","exploits":[{"source":"exploitdb","id":"EDB-52575","title":"Wordpress Temporary Login Plugin  1.0.0 - 'temp-login-token' Authentication Bypass to Account Takeover","type":"webapps","platform":"multiple","date":"2026-05-26","url":"https://www.exploit-db.com/exploits/52575"},{"source":"pocgithub","id":"amirhosseinjamshidi64/CVE-2026-7567-POC","title":"amirhosseinjamshidi64/CVE-2026-7567-POC","date":"2026-05-02","url":"https://github.com/amirhosseinjamshidi64/CVE-2026-7567-POC"}],"products":[{"vendor":"elemntor","product":"temporary login"}],"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/f97c669b-86c1-4873-a050-76972f494099?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/temporary-login/trunk/core/options.php#L157"},{"url":"https://plugins.trac.wordpress.org/browser/temporary-login/tags/1.0.0/core/options.php#L157"},{"url":"https://plugins.trac.wordpress.org/browser/temporary-login/trunk/core/admin.php#L135"},{"url":"https://plugins.trac.wordpress.org/browser/temporary-login/tags/1.0.0/core/admin.php#L135"},{"url":"https://plugins.trac.wordpress.org/browser/temporary-login/trunk/core/admin.php#L179"},{"url":"https://plugins.trac.wordpress.org/browser/temporary-login/tags/1.0.0/core/admin.php#L179"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-7567"},{"url":"https://github.com/advisories/GHSA-4v98-7r2c-mxg7"}],"sources":{"cve":[{"id":"CVE-2026-7567","title":"Temporary Login \u003c= 1.0.0 - Authentication Bypass to Account Takeover","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.","status":"published","published":"2026-05-01T09:26:06.824Z","modified":"2026-05-01T14:27:42.58Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"cna"}],"cwes":["CWE-288"],"updated_at":"2026-11-02T14:20:06.216584Z"}],"euvd":[{"id":"EUVD-2026-26490","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.","status":"published","published":"2026-05-01T09:26:06Z","modified":"2026-05-01T14:27:42Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T19:05:18.723006Z"}],"ghsa":[{"id":"GHSA-4v98-7r2c-mxg7","title":"The Temporary Login plugin for WordPress is vulnerable to Authentication Bypass in versions up to...","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.","status":"published","published":"2026-05-01T12:30:24Z","modified":"2026-05-01T12:30:30Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-288"],"updated_at":"2026-11-02T15:07:52.84276Z"}],"nvd":[{"id":"CVE-2026-7567","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.","status":"published","published":"2026-05-01T10:15:58.08Z","modified":"2026-06-17T11:02:36.12Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"secondary"}],"cwes":["CWE-288"],"updated_at":"2026-11-02T14:12:16.626888Z"}]}}
