Description
The ProfilePress plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 4.16.11. This is due to missing ownership validation on the change_plan_sub_id parameter in the process_checkout() function. The ppress_process_checkout AJAX handler accepts a user-controlled subscription ID intended for plan upgrades, loads the subscription record, and cancels/expires it without verifying the subscription belongs to the requesting user. This makes it possible for authenticated attackers, with Subscriber-level access and above, to cancel and expire any other user's active subscription via the change_plan_sub_id parameter during checkout, causing immediate loss of paid access for victims.
Problem types
CWE-639 Authorization Bypass Through User-Controlled Key
Product status
* (semver)
Timeline
| 2026-03-02: | Vendor Notified |
| 2026-03-10: | Disclosed |
Credits
Supanat Konprom
References
www.wordfence.com/...-bd6f-4e62-91cb-31c86a427498?source=cve
plugins.trac.wordpress.org/...rollers/CheckoutController.php
plugins.trac.wordpress.org/...rollers/CheckoutController.php
plugins.trac.wordpress.org/...rollers/CheckoutController.php
plugins.trac.wordpress.org/...rollers/CheckoutController.php