Academy LMS <= 4.0.3 - Authenticated (Custom+) Privilege Escalation to add_child REST endpoint
Strategic Overview
- Status
- Patched in 4.0.4
- Affected Version
<= 4.0.3- CVSS
- 5.4Medium
- Weakness type
- CWE-269 · Improper Privilege Management
- CVE
CVE-2026-104022
At a glance
CVE-2026-104022 is a medium-severity Improper Privilege Management vulnerability in the Academy LMS WordPress plugin, affecting versions <= 4.0.3. It carries a CVSS score of 5.4 (reachable over the network; low attack complexity). Exploitation requires an authenticated account at Custom level or above. The issue is fixed in version 4.0.4; sites on affected versions should update now. Disclosed October 2026, reported by Wordfence PRISM.
Vulnerability Overview
The Academy LMS – AI Course Builder, Quizzes, Certificates & eLearning plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 4.0.3. This is due to the `add_child()` function calling `add_role('academy_student')` on any existing account resolved from the attacker-supplied `email` parameter before `Store::link()` validates the guardian-ward relationship, and failing to roll back that role write when `Store::link()` returns a `WP_Error`. This makes it possible for authenticated attackers with the `academy_guardian` role or higher to elevate any existing WordPress account — including their own — to the `academy_student` role, gaining `edit_posts` (Contributor-equivalent) capabilities and, when the student file-upload setting is enabled, `upload_files` (Author-equivalent) capabilities not granted to the guardian role. When a guardian supplies their own email address, `email_exists()` resolves to their own user ID, causing `Store::link()` to reject the self-link, but because the `add_role()` call has already executed and is never reversed, the academy_student role grant on their own account persists permanently.
Technical Analysis
The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no interaction from a victim user.
CWE-269: Improper Privilege Management
Academy LMS <= 4.0.3 carries this weakness at academy_student, and reaching it takes an account at Custom level or above. Improper privilege management means the code lets an account end up with capabilities its role should not have.
It converts a low-privileged account into an administrative one, which makes every other restriction on the site irrelevant. For Academy LMS the fix is 4.0.4: builds <= 4.0.3 are affected, anything from 4.0.4 onward is not.
Remediation
Update to version 4.0.4, or a newer patched version
How does WordSec protect against this?
Because it turns on account access, WordSec's login security is the relevant layer: role-based two-factor, captcha and brute-force limits raise the cost of getting the account this needs. None of that substitutes for the fix: Academy LMS 4.0.4 closes this, and updating the plugin is the step that ends it.
- Login Security
- Alerts
External References
Related records
Same weakness class
Other vulnerabilities in Academy LMS – AI Course Builder, Quizzes, Certificates & eLearning
- 9.8CVE-2025-15521: Academy LMS Privilege Escalation
CVE-2025-15521 - 8.3CVE-2024-37234: Academy LMS <= 2.0.10 Open Redirect
CVE-2024-37234 - 7.2CVE-2025-12099: Academy LMS PHP Object Injection
CVE-2025-12099 - 6.5CVE-2026-104915: Academy LMS Authenticated (Custom+) Arbitrary
CVE-2026-104915 - 6.4CVE-2025-68527: Academy LMS <= 3.4.0 Stored Cross-Site Scripting
CVE-2025-68527 - 5.4CVE-2024-32714: Academy LMS <= 1.9.16 Missing Authorization
CVE-2024-32714 - 5.3CVE-2026-5348: Academy LMS <= 3.8.1 IDOR to Private Topic Disclosure
CVE-2026-5348 - 5.3CVE-2024-35171: Academy LMS <= 1.9.25 Sensitive Information Exposure
CVE-2024-35171
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C