Plugins · academy · data as of 2026-11-04
Is Academy LMS safe? Known vulnerabilities and latest version
- Status
- Closed 2026-10-11
- Known issues on record
- 21
- Unpatched in latest
- 0
What to do
- Replace it. A closed plugin gets no updates through WordPress, so any hole found from now on stays open.
- Deactivate and delete it once you have a replacement (Plugins → Deactivate → Delete). Deleting removes its files; deactivating alone leaves them on the server.
- If you ran a vulnerable version and something looks off (spam pages, strange admins, redirects), run the free scan, or have us clean it: Emergency Cleanup, $499.
With WP-CLI, once you have a replacement: wp plugin deactivate academy && wp plugin delete academy
Check your version
Known vulnerabilities
21 on record, newest first. “Affected” is the version range the source gives; “fixed in” is the version the source names, or (marked *) the first wordpress.org release after the last affected version. 21 record(s) do not state which versions are affected.
medium 4.3 CVE-2026-120544 · published 2026-11-03
Path traversal / file read in Academy LMS (4.0.1 and older)
- Affected
- 4.0.1 and older
- Fixed in
- unknown
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- CVE record (the advisory publisher) · score by Wordfence
Details from the advisory
The Academy LMS – AI Course Builder, Quizzes, Certificates & eLearning plugin for WordPress is vulnerable to Directory Traversal in all versions up to, and including, 4.0.1 via the 'id' parameter. This makes it possible for authenticated attackers, with contributor-level access and above, to read the contents of arbitrary .html files on the server. The plugin appends a '.html' extension to the attacker-supplied path before reading it, so files with any other extension — including wp-config.php — are out of reach. The file's contents are returned in full in the REST JSON response's content field.
NVD CVE-2026-120544Wordfence advisoryCode change (fix)Plugin source
medium 6.5 CVE-2026-104915 · published 2026-10-10
Missing authorization check in Academy LMS (4.0.3 and older)
- Affected
- 4.0.3 and older
- Fixed in
- unknown
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- CVE record (the advisory publisher) · score by Wordfence
Details from the advisory
The Academy LMS – AI Course Builder, Quizzes, Certificates & eLearning plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 4.0.3. This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for authenticated attackers, with custom-level access and above, to permanently delete arbitrary Academy lesson comments and their replies authored by any user, including administrators, across courses they do not instruct. This is exploitable by any user registered as an Academy instructor for at least one course, as they can supply their own course_id to pass the instructor check while targeting comments belonging to entirely different courses.
NVD CVE-2026-104915Wordfence advisoryCode change (fix)Plugin source
medium 5.4 CVE-2026-104022 · published 2026-10-10
Privilege escalation in Academy LMS (4.0.3 and older)
- Affected
- 4.0.3 and older
- Fixed in
- unknown
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- CVE record (the advisory publisher) · score by Wordfence
Details from the advisory
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.
NVD CVE-2026-104022Wordfence advisoryCode change (fix)Plugin source
medium 4.3 CVE-2026-104049 · published 2026-10-07
Missing authorization check in Academy LMS (older than 4.0.0)
- Affected
- older than 4.0.0
- Fixed in
- 4.0.0
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- CVE record (the advisory publisher) · score by CISA ADP
Details from the advisory
The Academy LMS WordPress plugin before 4.0.0 does not verify course enrollment or object ownership when returning a lesson's content through one of its REST API routes, allowing users with a self-registerable student account to read the full content of arbitrary lessons, including lessons of paid or private courses they are not enrolled in.
medium 4.3 CVE-2026-104050 · published 2026-10-07
Missing authorization check in Academy LMS (older than 4.0.0)
- Affected
- older than 4.0.0
- Fixed in
- 4.0.0
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- CVE record (the advisory publisher) · score by CISA ADP
Details from the advisory
The Academy LMS WordPress plugin before 4.0.0 does not verify that a quiz question belongs to the course the requesting user is authorized to access before returning that question's answer options, allowing any authenticated user with access to a single course, such as an enrolled student, to read the quiz answer options of questions belonging to other courses they are not enrolled in.
medium 6.5 CVE-2026-16563 · published 2026-08-03
Missing authorization check in Academy LMS (older than 3.8.3)
- Affected
- older than 3.8.3
- Fixed in
- 3.8.3
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- CVE record (the advisory publisher) · score by CISA ADP
Details from the advisory
The Academy LMS WordPress plugin before 3.8.3 does not verify course enrollment or lesson publication status when returning a single lesson through its REST API, allowing users with a self-service student (Subscriber-level) account to disclose the content of arbitrary lessons, including lessons of paid courses they are not enrolled in and unpublished (draft, pending, private) lessons.
medium 4.3 CVE-2026-12376 · published 2026-07-31
Missing authorization check in Academy LMS (3.8.2 and older)
- Affected
- 3.8.2 and older
- Fixed in
- unknown
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- CVE record (the advisory publisher) · score by CISA ADP
Details from the advisory
The Academy LMS WordPress plugin through 3.8.2 does not restrict access to quiz attempt records to their owner, allowing any authenticated user with subscriber-level access and above (enrolled in any single course) to read every user's quiz attempts across the whole site, including personal data such as IP addresses, names, registration dates and quiz results.
medium 5.4 CVE-2026-14184 · published 2026-07-21
Missing authorization check in Academy LMS (older than 3.8.1)
- Affected
- older than 3.8.1
- Fixed in
- 3.8.1
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- CVE record (the advisory publisher) · score by CISA ADP
Details from the advisory
The Academy LMS WordPress plugin before 3.8.1 does not verify ownership of a user-supplied user identifier in several of its lesson AJAX handlers, allowing authenticated users with subscriber-level access to read and modify other users' lesson notes and mark other users' lesson content as completed.
medium 4.3 CVE-2026-9341 · published 2026-07-14
Missing authorization check in Academy LMS (3.8.0 and older)
- Affected
- 3.8.0 and older
- Fixed in
- unknown
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- CVE record (the advisory publisher) · score by Wordfence
Details from the advisory
The Academy LMS – WordPress LMS Plugin for Complete eLearning Solution plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 3.8.0 via the 'save_lesson_note', 'get_lesson_note', and 'complete_lesson_video' AJAX handlers due to missing validation on a user controlled key. This makes it possible for authenticated attackers, with Subscriber-level access and above, to read, overwrite, or delete the private lesson notes of any other user (including administrators), and to falsify lesson-completion progress for arbitrary users.
NVD CVE-2026-9341Wordfence advisoryCode change (fix)Plugin source
medium 5.3 CVE-2026-5348 · published 2026-07-02
Missing authorization check in Academy LMS (3.8.1 and older)
- Affected
- 3.8.1 and older
- Fixed in
- unknown
- Access needed (per CVSS)
- No login needed
- Range from
- CVE record (the advisory publisher) · score by Wordfence
Details from the advisory
The Academy LMS – WordPress LMS Plugin for Complete eLearning Solution plugin for WordPress is vulnerable to Insecure Direct Object Reference in versions up to, and including, 3.8.1. This is due to the '/topics' REST API endpoint being registered with a permission callback set to '__return_true', allowing unauthenticated access to course curriculum data without verifying the course's post status or user enrollment. This makes it possible for unauthenticated attackers to access detailed curriculum information for private, draft, scheduled, or password-protected courses by enumerating course IDs.
NVD CVE-2026-5348Wordfence advisoryCode change (fix)Plugin source
medium 6.5 CVE-2026-25372 · published 2026-02-19
Missing authorization check in Academy LMS (3.5.3 and older)
- Affected
- 3.5.3 and older
- Fixed in
- 3.5.4
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- CVE record (the advisory publisher) · score by Patchstack
Details from the advisory
Missing Authorization vulnerability in Kodezen LLC Academy LMS academy allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Academy LMS: from n/a through <= 3.5.3.
critical 9.8 CVE-2025-15521 · published 2026-01-21
Privilege escalation in Academy LMS (3.5.0 and older)
- Affected
- 3.5.0 and older
- Fixed in
- unknown
- Access needed (per CVSS)
- No login needed
- Range from
- CVE record (the advisory publisher) · score by Wordfence
Details from the advisory
The Academy LMS – WordPress LMS Plugin for Complete eLearning Solution plugin for WordPress is vulnerable to privilege escalation via account takeover in all versions up to, and including, 3.5.0. This is due to the plugin not properly validating a user's identity prior to updating their password and relying solely on a publicly-exposed nonce for authorization. This makes it possible for unauthenticated attackers to change arbitrary user's password, including administrators, and gain access to their account.
medium 6.5 CVE-2025-68527 · published 2025-12-24
Stored cross-site scripting (XSS) in Academy LMS (3.4.0 and older)
- Affected
- 3.4.0 and older
- Fixed in
- 3.4.1
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber); someone on the site has to click a link or open a page
- Range from
- CVE record (the advisory publisher) · score by Patchstack
Details from the advisory
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in Kodezen LLC Academy LMS academy allows Stored XSS.This issue affects Academy LMS: from n/a through <= 3.4.0.
high 7.2 CVE-2025-12099 · published 2025-11-08
PHP object injection in Academy LMS (3.3.8 and older)
- Affected
- 3.3.8 and older
- Fixed in
- unknown
- Access needed (per CVSS)
- Needs an admin-level account
- Range from
- CVE record (the advisory publisher) · score by Wordfence
Details from the advisory
The Academy LMS – WordPress LMS Plugin for Complete eLearning Solution plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 3.3.8 via deserialization of untrusted input in the 'import_all_courses' function. This makes it possible for authenticated attackers, with Administrator-level access and above, to inject a PHP Object. No known POP chain is present in the vulnerable software, which means this vulnerability has no impact unless another plugin or theme containing a POP chain is installed on the site. If a POP chain is present via an additional plugin or theme installed on the target system, it may allow the attacker to perform actions like delete arbitrary files, retrieve sensitive data, or execute code depending on the POP chain present.
NVD CVE-2025-12099Wordfence advisoryCode change (fix)Plugin source
medium 5.5 CVE-2025-59562 · published 2025-09-22
Missing authorization check in Academy LMS (3.3.4 and older)
- Affected
- 3.3.4 and older
- Fixed in
- 3.3.5
- Access needed (per CVSS)
- Needs an admin-level account
- Range from
- CVE record (the advisory publisher) · score by Patchstack
Details from the advisory
Authorization Bypass Through User-Controlled Key vulnerability in Kodezen LLC Academy LMS academy allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Academy LMS: from n/a through <= 3.3.4.
high 8.8 CVE-2024-38701 · published 2024-07-22
Missing authorization check in Academy LMS (2.0.4 and older)
- Affected
- 2.0.4 and older
- Fixed in
- 2.0.5
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- CVE record (the advisory publisher) · score by NVD
Details from the advisory
Authorization Bypass Through User-Controlled Key vulnerability in Academy LMS.This issue affects Academy LMS: from n/a through 2.0.4.
low 3.5 CVE-2024-37234 · published 2024-07-06
Open redirect in Academy LMS (2.0.4 and older)
- Affected
- 2.0.4 and older
- Fixed in
- unknown
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber); someone on the site has to click a link or open a page
- Range from
- CVE record (the advisory publisher) · score by Patchstack
Details from the advisory
URL Redirection to Untrusted Site ('Open Redirect') vulnerability in Kodezen Limited Academy LMS.This issue affects Academy LMS: from n/a through 2.0.4.
high 8.8 CVE-2024-32714 · published 2024-06-09
Missing authorization check in Academy LMS (1.9.16 and older)
- Affected
- 1.9.16 and older
- Fixed in
- 1.9.17
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- CVE record (the advisory publisher) · score by NVD
Details from the advisory
Missing Authorization vulnerability in Academy LMS academy.This issue affects Academy LMS: from n/a through 1.9.16.
medium 5.3 CVE-2024-35171 · published 2024-05-14
Information disclosure in Academy LMS (1.9.25 and older)
- Affected
- 1.9.25 and older
- Fixed in
- 1.9.26
- Access needed (per CVSS)
- No login needed
- Range from
- CVE record (the advisory publisher) · score by NVD
Details from the advisory
Exposure of Sensitive Information to an Unauthorized Actor vulnerability in Academy LMS academy.This issue affects Academy LMS: from n/a through 1.9.25.
high 8.8 CVE-2024-33912 · published 2024-05-06
Missing authorization check in Academy LMS (1.9.16 and older)
- Affected
- 1.9.16 and older
- Fixed in
- 1.9.17
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- CVE record (the advisory publisher) · score by NVD
Details from the advisory
Missing Authorization vulnerability in Academy LMS.This issue affects Academy LMS: from n/a through 1.9.16.
high 8.8 CVE-2024-1505 · published 2024-03-13
Privilege escalation in Academy LMS (1.9.19 and older)
- Affected
- 1.9.19 and older
- Fixed in
- unknown
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- CVE record (the advisory publisher) · score by Wordfence
Details from the advisory
The Academy LMS – eLearning and online course solution for WordPress plugin for WordPress is vulnerable to privilege escalation in all versions up to, and including, 1.9.19. This is due to plugin allowing arbitrary user meta updates through the saved_user_info() function. This makes it possible for authenticated attackers, with minimal permissions such as students, to elevate their user role to that of an administrator.
Recent activity
- 2026-10-11 — closed on wordpress.org.
- 2026-11-03 — Path traversal / file read disclosed (CVE-2026-120544), fix version not stated.
- 2026-10-10 — Missing authorization check disclosed (CVE-2026-104915), fix version not stated.
- 2026-10-10 — Privilege escalation disclosed (CVE-2026-104022), fix version not stated.
Get an email when Academy LMS has a new vulnerability
Free. We check the CVE feeds every day and email you only when a new issue for Academy LMS (academy) is published or a fix ships. Unsubscribe in one click.
Browse vulnerabilities
Types found in this plugin: Missing authorization (13) · Privilege escalation (3) · Path traversal and file read (1) · Cross-site scripting (XSS) (1) · PHP object injection (1) · Open redirect (1) · Sensitive data exposure (1)
Where this data comes from
- Version, last update, installs, closure: wordpress.org/plugins/academy (Plugins API), fetched 2026-11-04.
- Vulnerabilities: NIST National Vulnerability Database (NVD), checked 2026-11-04. This product uses data from the NVD API but is not endorsed or certified by the NVD.
- Each record links to its CVE page and to the original advisory (Wordfence, Patchstack or WPScan) where there is one. We only list a CVE here when its references or its advisory name this exact plugin, so a few real issues may be missing; none should be about a different plugin. Spot an error? Email Daniel.
Badge for your site or docs (states facts with a date, not a verdict):
<a href="https://laskyr.com/plugins/academy"><img src="https://laskyr.com/plugins/academy/badge.svg" alt="Academy LMS vulnerability status"></a>