← Back to search

CVE-2026-93882

7.5 HIGH

Published 2026-10-01 · Updated 2026-10-03

AI risk analysis

Summary
The LearnPress WordPress plugin has an insecure direct object reference vulnerability that allows unauthenticated attackers to access course materials from paid or enrollment-required courses by exploiting a public AJAX endpoint. This occurs because the system uses two separate identifiers for authorization and data retrieval without properly validating that the lesson belongs to the authorized course.
Exploitability
The vulnerability is easily exploitable with no prerequisites as attackers can directly call the public lp-ajax-handle endpoint with any course_id and item_id parameters to access unauthorized course materials.
Blast radius
An attacker could potentially access all course material files from any paid or enrollment-required course on the site, including uploaded files and external URLs, if at least one course has 'No Required Enroll' enabled.
Detection
No reliable host or network indicator is derivable from the published description.
Prioritized remediation
Upgrade to LearnPress version 4.4.9 or later to fix this vulnerability.
lmswp-pluginaccess-controlfile-access

Analysis generated locally by garnet-coder (no data left the box). AI-assisted — verify against primary sources before acting.

NVD description

The LearnPress – WordPress LMS Plugin for Create and Sell Online Courses plugin for WordPress is vulnerable to Insecure Direct Object Reference in versions up to, and including, 4.4.8 via the CourseMaterialTemplate::render_material_items() callback exposed on the public lp-ajax-handle (load_content_via_ajax) endpoint. The endpoint is explicitly listed in the AbstractAjax no-nonce allowlist and performs no capability check, and the render_material_items() handler decides authorization against one attacker-supplied identifier (course_id) while fetching the returned material rows via a second, independently attacker-supplied identifier (item_id) with no check that the lesson belongs to the authorized course. This makes it possible for unauthenticated attackers to read and download course-material files (uploaded and external file paths/URLs) belonging to lessons in paid or enrollment-required courses, provided any single course on the site has 'No Required Enroll' enabled and owns at least one material file.

CVSS vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Weaknesses

CWE-639

All references

Source data: NVD (nvd.nist.gov), public domain. Exploit-DB.ai adds local AI analysis for defensive use only.

Related CVEs

Related by shared AI tags and CWE weakness class. Browse the full archive.