Divi Membership <= 2.3.0 - Unauthenticated Authentication Bypass via 'paypal_param' Parameter
What fixes it
No source in this snapshot names a fixed version. The vendor advisories under References are the place to check.
Description
The Divi Membership plugin for WordPress is vulnerable to Authentication Bypass in all versions up to, and including, 2.3.0. The process_paypal_callback function, hooked to the init action, accepts a base64-encoded paypal_param GET parameter with no IPN validation, no cryptographic signature check, no ownership verification, and no nonce, allowing it to trust an entirely attacker-controlled user ID value that is passed directly to wp_set_current_user() and wp_set_auth_cookie(). This makes it possible for unauthenticated attackers to log in as any existing WordPress user — including administrators — by supplying an arbitrary user ID in the paypal_param GET parameter, resulting in full site takeover. The vulnerability is further compounded by the fact that the PayPal gateway class is instantiated unconditionally regardless of whether PayPal is enabled or configured, ensuring the vulnerable hook is always registered on every front-end request.
Text from CVE List
Affected versions 1
- Divi Membershipaffected: all versions through 2.3.0CVE List