# Academy LMS <= 4.0.5 - Authenticated (Academy Instructor+) Missing Authorization to Course Publication via change_post_status

- **ID:** WPSEC-2026-1217
- **Plugin:** Academy LMS – WordPress LMS Plugin for Complete eLearning Solution (`academy`), https://wordpress.org/plugins/academy/
- **Affected versions:** all versions before 4.0.7
- **Fixed in:** 4.0.7 (Update to 4.0.7 or later.)
- **Severity:** Medium 4.3 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N)
- **Weakness:** CWE-862
- **Usage among sites WPSec scans:** plugin Low, affected versions None seen (as of 2026-10-18)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/academy
- **Fix released:** 2026-10-17
- **Published:** 2026-10-18
- **URL:** https://wpsec.com/vuln/WPSEC-2026-1217/

## Description

The academy plugin for WordPress is vulnerable to unauthorized modification of data via the 'change_post_status' AJAX action in all versions up to, and including, 4.0.5, due to a missing capability check. The action only checked that the user authored the post. It did not check the post type, the requested status, or the publish capability for that post type. This makes it possible for authenticated attackers, with Academy Instructor-level access and above, to publish or set any status on their own courses and other posts, even when instructors are not allowed to publish courses without administrator approval.

## References

- https://wpsec.com/vuln/WPSEC-2026-1217/
- https://plugins.svn.wordpress.org/academy/tags/4.0.7/
- https://wordpress.org/plugins/academy/

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

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.
