WPCOM Member <= 1.7.27 - Unauthenticated Authentication Bypass via 'uuid' and 'code' Parameters on Social-Login Callback
What fixes it
No source in this snapshot names a fixed version.
Description
The WPCOM Member plugin for WordPress is vulnerable to Authentication Bypass in all versions up to, and including, 1.7.27 via the uuid and code parameters of the social-login callback handler registered on the init hook. The vulnerability exists because the login function's social-login flow performs no nonce validation, no OAuth state verification, and no per-visitor namespace isolation in the session store, allowing an unauthenticated attacker to issue a crafted GET request that writes an attacker-named, attacker-valued entry into the global session namespace (bypassing the per-visitor prefix by prepending an underscore), then issue a second GET request triggering weapp_new_user() to read that forged entry and resolve the attacker-supplied openid value to a bound WordPress account before wp_set_auth_cookie() establishes a fully authenticated session. This makes it possible for unauthenticated attackers to log in as any WordPress user — including administrators — whose bound social provider identifier (openid/unionid) is known or discoverable. Successful exploitation requires that the target site has at least one social provider configured (which activates the vulnerable handler) and that the attacker knows or can enumerate the victim account's bound openid or unionid.
Text from CVE List
Affected versions 1
- WPCOM Memberaffected: all versions through 1.7.27CVE List
References 6
- wordfence.com/threat-intel/vulnerabilities/id/3dee7f76-bd66-4e54-8ef6-bbf581ebcc11?source=cveReferencevia CVE List
- plugins.trac.wordpress.org/browser/wpcom-member/tags/1.7.27/includes/social-login.php#L1235Referencevia CVE List
- plugins.trac.wordpress.org/browser/wpcom-member/tags/1.7.27/includes/social-login.php#L91Referencevia CVE List
- plugins.trac.wordpress.org/browser/wpcom-member/tags/1.7.27/includes/social-login.php#L674Referencevia CVE List
- plugins.trac.wordpress.org/browser/wpcom-member/tags/1.7.27/includes/class-sesstion.php#L13Referencevia CVE List
- plugins.trac.wordpress.org/browser/wpcom-member/trunk/includes/social-login.phpReferencevia CVE List