The plugin does not validate and escape some of its shortcode attributes before outputting them back in the page, which could allow users with a role as low as contributor to perform Stored Cross-Site Scripting attacks which could be used against high privilege users such as admin.
1. Exploit shortcode:
[swpm_paypal_subscription_cancel_link merchant_id='1' css_class='" onmouseover="alert(1)"']
Note: The exploit requires a membership plugin user to log in.
2. Exploit shortcode:
[swpm_payment_button id='1' class='" onmouseover="alert(1)"']
Note: The โBraintree Buy Nowโ payment button uses the โclassโ parameter. You can add buttons on the "Payments" > "Manage Payment Buttons" page.