Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRegister or compromise subscriber account
-
DeliveryAuthenticate to WordPress site
-
ExploitIdentify target user ID via enumeration or known value
-
ExecutionCraft AJAX POST to vulnerable lesson handler with target user ID
-
PersistBypass missing ownership validation
-
ImpactRead, overwrite, or delete target's lesson notes; falsify lesson-completion records
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Exploitation requires a valid WordPress user account at Subscriber level or above on the target site - unauthenticated exploitation is not possible per the CVSS PR:L metric. The site must be running Academy LMS plugin version 3.8.0 or earlier. The vulnerable AJAX endpoints (save_lesson_note, get_lesson_note, complete_lesson_video) must be reachable, which is the default state for any WordPress installation with the plugin active. Sites that permit open user registration (common for public eLearning deployments) effectively allow any internet user to satisfy the authentication prerequisite by self-registering. Exploitation is limited to the LMS data layer: attackers cannot escalate privileges, execute code, or access WordPress core data outside of lesson notes and completion records. The attack does not require any specific course enrollment status or administrative configuration beyond plugin installation. |
| Impact | The official CVSS 3.1 score of 4.3 (Medium) with vector AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N accurately captures the low-complexity, network-accessible nature of the flaw but appears to undercount the confidentiality dimension: the CVE description explicitly states that get_lesson_note enables reading other users' private notes, which corresponds to C:L rather than C:N - this discrepancy should be verified against the vendor's scoring rationale. No EPSS score was provided; KEV status is negative, meaning CISA has not confirmed active exploitation. No standalone POC exploit was cited, though the combination of Wordfence's public write-up and exposed source code references substantially lowers the barrier for weaponization. Real-world risk is bounded by the subscriber-level authentication prerequisite: an attacker must hold a valid account on the target WordPress site. Sites using Academy LMS for open self-registration (a common eLearning pattern) effectively expand the attacker pool to any internet user who can register. Impact is limited to the LMS data plane - lesson notes and completion records - with no code execution or privileged account takeover implied. |
| Exploit ScenarioDerived | An attacker registers a free subscriber account on a WordPress site running Academy LMS 3.8.0 or earlier, then issues a crafted authenticated AJAX POST request to wp-admin/admin-ajax.php with action=get_lesson_note and a target user's ID or note ID substituted in the user-controlled key parameter, successfully retrieving that user's private lesson notes. The same technique applied to save_lesson_note or complete_lesson_video allows overwriting notes or falsifying the completion status of any course lesson for any enrolled user, including administrators. No public exploit code was identified at time of analysis, but the Wordfence write-up and Trac source references provide sufficient detail to construct a proof-of-concept. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 14, 2026
Insecure Direct Object Reference in the Academy LMS WordPress plugin (all versions through 3.8.0) allows authenticated attackers with Subscriber-level access to read, overwrite, or delete the private lesson notes of any user - including administrators - and to falsify lesson-completion records for arbitrary accounts. Three AJAX handlers (save_lesson_note, get_lesson_note, complete_lesson_video) perform no ownership validation on a user-controlled key, making cross-user data manipulation trivially achievable by any registered site user. No public exploit identified at time of analysis, but the attack surface is fully described via Wordfence's public threat-intelligence entry and source-level code references.
RemediationAI
An upstream fix has been committed to the WordPress plugin repository as changeset 3573111 (https://plugins.trac.wordpress.org/changeset/3573111/); users should update the Academy LMS plugin to the first release beyond 3.8.0 as soon as it becomes available through the WordPress plugin dashboard, since the exact patched release version is not independently confirmed from the provided data - verify the current latest version in the WordPress Plugin Directory before updating. As a compensating control while awaiting the update, site administrators can temporarily restrict subscriber-level user registration if open registration is enabled, which removes the most accessible attacker entry point; note this may disrupt legitimate student enrollment workflows. Alternatively, a WAF rule targeting the AJAX actions save_lesson_note, get_lesson_note, and complete_lesson_video that enforces user-ID consistency between session and request payload can mitigate exploitation without disabling the plugin entirely, though this requires WAF capability and may interfere with legitimate use if not carefully tuned.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected product is the Kodezen Academy LMS WordPress plugin (CPE: cpe:2.3:a:kodezen:academy_lms:*:*:*:*:*:*:*:*), an eLearning management system built on WordPress's AJAX infrastructure. The vulnerability class is CWE-639 (Authorization Through User-Controlled Key): the plugin exposes three AJAX handlers - save_lesson_note, get_lesson_note, and complete_lesson_video - that accept a user-supplied key (likely a user ID or note ID) to identify the target resource. The abstract AJAX handler base class (abstract-ajax-handler.php:L46) authenticates that a session exists but does not verify that the authenticated user is the owner of the referenced resource, creating a broken object-level authorization (BOLA/IDOR) condition. Source code for the vulnerable handlers is publicly visible at the referenced Trac browser URLs for the 3.7.4 tag (lesson.php:L253, L258, L300), and a corrective changeset (3573111) has been committed to the plugin repository.
Know when Academy Lms gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
C:L added over official vector because get_lesson_note explicitly enables reading private notes; all other metrics align with PR:L subscriber requirement and network delivery.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Academy Lms
View allA vulnerability was found in Academy LMS 6.2. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploit
Unauthorized lesson content disclosure in Academy LMS WordPress plugin before 3.8.3 allows any subscriber-level authenti
Creativeitem Academy LMS 7.0 contains reflected Cross-Site Scripting (XSS) vulnerabilities via the search parameter to t
Cross Site Scripting vulnerability in Creativeitem Academy LMS Learning Management System v.6.8.1 allows a remote attack
A vulnerability was found in Academy LMS 6.2 on Windows. Rated medium severity (CVSS 6.1), this vulnerability is remotel
Creative Item Academy LMS 6.0 was discovered to contain a cross-site scripting (XSS) vulnerability. Rated medium severit
A vulnerability has been found in Academy LMS 6.0 and classified as problematic. Rated medium severity (CVSS 6.1), this
Academy LMS WordPress plugin versions prior to 3.8.1 exposes an Insecure Direct Object Reference (IDOR) flaw across mult
The Academy LMS - eLearning and online course solution for WordPress plugin for WordPress is vulnerable to privilege esc
Authorization Bypass Through User-Controlled Key vulnerability in Academy LMS.0.4. Rated high severity (CVSS 8.8), this
Missing Authorization vulnerability in Academy LMS academy.9.16. Rated high severity (CVSS 8.8), this vulnerability is r
Academy-LMS v4.3 was discovered to contain a stored cross-site scripting (XSS) vulnerability in the SEO panel. Rated med
EUVD-2026-43658
GHSA-jvgv-xrf5-mp7h
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB