Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Lifecycle Timeline
1DescriptionCVE.org
The Account Switcher plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 1.0.2. This is due to the rememberLogin REST API endpoint using a loose comparison (!= instead of !==) for secret validation at app/RestAPI.php:111, combined with no validation that the secret is non-empty. When a target user has never used the "Remember me" feature, their asSecret user meta does not exist, causing get_user_meta() to return an empty string. An attacker can send an empty secret parameter, which passes the comparison ('' != '' is false), and the endpoint then calls wp_set_auth_cookie() for the target user. Additionally, all REST routes use permission_callback => '__return_true' with no capability checks. This makes it possible for authenticated attackers, with Subscriber-level access and above, to switch to any user account including Administrator, ultimately granting themselves full administrative privileges.
AnalysisAI
Privilege escalation in the BeycanPress Account Switcher WordPress plugin (versions up to and including 1.0.2) allows authenticated Subscriber-level users to hijack any account, including Administrator, by abusing a loose PHP comparison in the rememberLogin REST endpoint. No public exploit is identified at the time of analysis, but the issue is trivially reproducible from the disclosed root cause and the plugin source on WordPress.org is publicly indexable.
Technical ContextAI
The flaw lives in app/RestAPI.php:111 of the Account Switcher plugin, where secret validation uses PHP's loose inequality operator (!=) instead of strict (!==) when comparing the attacker-supplied 'secret' parameter to the target user's asSecret meta value. When the target user has never invoked the 'Remember me' feature, get_user_meta() returns an empty string, and PHP's type-juggling causes '' != '' to evaluate false, so the check passes; the endpoint then issues wp_set_auth_cookie() for the chosen user ID. Compounding the bug, every REST route in this plugin registers permission_callback => '__return_true' (see app/PluginHero/BaseAPI.php:54), so WordPress performs no capability check before reaching the vulnerable comparison. This is a textbook CWE-287 (Improper Authentication) instance caused by both weak type comparison and missing authorization, affecting the cpe:2.3:a:beycanpress:account_switcher product line.
RemediationAI
No vendor-released patch identified at time of analysis based on the provided references; administrators should monitor the WordPress.org plugin page (https://wordpress.org/plugins/account-switcher/) and the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/9e9cfb9b-6951-4246-9cd6-dd64fee3a1bc?source=cve) for a release greater than 1.0.2. Until a fixed version is published, the safest compensating control is to deactivate and remove the Account Switcher plugin entirely, which eliminates the vulnerable REST routes at the cost of losing the account-switching feature. If the feature must remain, restrict access to /wp-json/account-switcher/* endpoints via a web application firewall rule or web server ACL limited to trusted administrator IP addresses, accepting the trade-off that legitimate switching from other networks will break; additionally, audit existing administrator and editor accounts and rotate credentials, since exploitation leaves no obvious artifact beyond a normal authenticated session cookie.
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
NetAlertX (formerly PiAlert) versions 23.01.14 through 24.x before 24.10.12 allow unauthenticated command injection thro
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
Same weakness CWE-287 – Improper Authentication
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-31026
GHSA-wrmc-3xq2-8pf7