# LearnPress <= 4.1.1 - Unauthenticated Insecure Direct Object Reference to Wishlist Modification via 'user_id' Parameter

- **ID:** WPSEC-2026-2912
- **Plugin:** LearnPress – Course Wishlist (`learnpress-wishlist`), https://wordpress.org/plugins/learnpress-wishlist/
- **Affected versions:** from 4.0.9 before 4.1.2
- **Fixed in:** 4.1.2 (Update to 4.1.2 or later.)
- **Severity:** Medium 6.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N)
- **Weakness:** CWE-639
- **Usage among sites WPSec scans:** plugin Low, affected versions Low (as of 2026-11-12)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/learnpress-wishlist
- **Fix released:** 2026-11-11
- **Published:** 2026-11-12
- **URL:** https://wpsec.com/vuln/WPSEC-2026-2912/

## Description

The LearnPress – Course Wishlist plugin for WordPress is vulnerable to Insecure Direct Object Reference via the 'user_id' argument of the wishlist button block's AJAX load-content callback (ButtonWishListBlockType::render_button) in all versions up to, and including, 4.1.1. This is due to the callback taking the acting user from the client-supplied 'user_id' value instead of the current session. This makes it possible for unauthenticated attackers to add courses to or remove them from any user's wishlist, and to find out whether a given course is in another user's wishlist, on sites where the wishlist block is registered (block themes).

## References

- https://wpsec.com/vuln/WPSEC-2026-2912/
- https://plugins.svn.wordpress.org/learnpress-wishlist/tags/4.1.2/
- https://wordpress.org/plugins/learnpress-wishlist/

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

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.
