CVE Catalog

CVE-2026-92885

CriticalCVSS 9.8
Published: Translated: NVD NIST

Summary

The Qode Membership plugin for WordPress in versions up to and including 2.0.6.2 contains a typographic error in the Facebook OAuth token verification guard ($check_social_useqoder instead of $check_social_user). This causes the guard condition to always evaluate true, rendering the Graph API token verification dead code and allowing unauthenticated attackers to log in as any account, including Administrator, by supplying a login name in the response[email] parameter.

Risk Assessment

An attacker can take over any WordPress account, including administrative accounts, without knowing a password or possessing a valid token. Exploitation only requires obtaining the qode_validate_facebook_login nonce, which is publicly exposed on pages containing the login or registration shortcodes.

Recommendation

Update the Qode Membership plugin to a version later than 2.0.6.2 as soon as possible, or disable it if no fix is available. Additionally, review logs for anomalous logins and reset passwords for administrative accounts.

Related vulnerabilities

Original NVD description (English source)

The Qode Membership plugin for WordPress is vulnerable to Authentication Bypass leading to Account Takeover in all versions up to, and including, 2.0.6.2 via the qode_membership_check_facebook_user AJAX action. This is due to a typographic error in the Facebook OAuth token verification guard within the qode_membership_login_user_from_social_network function — the guard condition tests an undefined variable ($check_social_useqoder instead of $check_social_user), causing empty() to always return true and rendering the Graph API token verification branch dead code, leaving wp_set_auth_cookie() reachable with no credential or token validation whatsoever. This makes it possible for unauthenticated attackers to log in as any existing WordPress account — including Administrator-level accounts — by supplying a known or enumerated administrator login name (rather than an email address) in the response[email] parameter, which the fallback path in get_user_by('login', $email) resolves to the matching account. Exploitation does require harvesting a valid qode_validate_facebook_login nonce, but this nonce is rendered on any public front-end page containing the [qode_user_login] or [qode_user_register] shortcode and is therefore obtainable without any prior authentication.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS