# myCred – Points Management System For Gamification, Ranks, Badges, and Loyalty Rewards Program <= 3.2.6 - Authenticated (Subscriber+) Insecure Direct Object Reference to Arbitrary Post Trashing via 'buycred-cancel' Parameter

- **ID:** WPSEC-2026-1453
- **Plugin:** Points Management System For Gamification, Ranks, Badges, and Loyalty Rewards Program – myCred (`mycred`), https://wordpress.org/plugins/mycred/
- **Affected versions:** all versions before 4.0.0
- **Fixed in:** 4.0.0 (Update to 4.0.0 or later.)
- **Severity:** Medium 5.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L)
- **Weakness:** CWE-639
- **Usage among sites WPSec scans:** plugin Medium, affected versions Medium (as of 2026-10-22)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/mycred
- **Fix released:** 2026-10-21
- **Published:** 2026-10-22
- **URL:** https://wpsec.com/vuln/WPSEC-2026-1453/

## Description

The myCred plugin for WordPress is vulnerable to Insecure Direct Object Reference via the buyCRED pending payment cancellation handler in all versions up to, and including, 3.2.6, due to the 'buycred-cancel' value being checked only against a generic nonce that is not tied to a specific payment, with no check that the current user owns the referenced payment and no check of its post type. This makes it possible for authenticated attackers with Subscriber-level access and above, who get a cancellation nonce (for example from a cancel link for their own buyCRED payment), to move other users' pending buyCRED payments, as well as any other post or page identified by a numeric ID, to the trash.

## References

- https://wpsec.com/vuln/WPSEC-2026-1453/
- https://plugins.svn.wordpress.org/mycred/tags/4.0.0/
- https://wordpress.org/plugins/mycred/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-1453/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
