LearnPress – WordPress LMS Plugin <= 4.3.2.2 - Insecure Direct Object Reference to Authenticated (Instructor+) Teacher Material Deletion
Strategic Overview
- Status
- Patched in 4.3.2.2
- Affected Version
<= 4.3.2.1- CVSS
- 5.4Medium
- Weakness type
- CWE-639 · Authorization Bypass Through User-Controlled Key
- CVE
CVE-2025-14802
At a glance
CVE-2025-14802 is a medium-severity Authorization Bypass Through User-Controlled Key vulnerability in the LearnPress WordPress plugin, affecting versions <= 4.3.2.1. It carries a CVSS score of 5.4 (reachable over the network; low attack complexity). Exploitation requires an authenticated account at Instructor level or above. The issue is fixed in version 4.3.2.2; sites on affected versions should update now. Disclosed January 2026, reported by Deniz Mert (dennywise).
Vulnerability Overview
The LearnPress – WordPress LMS Plugin for WordPress is vulnerable to unauthorized file deletion in versions up to, and including, 4.3.2.2 via the /wp-json/lp/v1/material/{file_id} REST API endpoint. This is due to a parameter mismatch between the DELETE operation and authorization check, where the endpoint uses file_id from the URL path but the permission callback validates item_id from the request body. This makes it possible for authenticated attackers, with teacher-level access, to delete arbitrary lesson material files uploaded by other teachers via sending a DELETE request with their own item_id (to pass authorization) while targeting another teacher's file_id.
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-639: Authorization Bypass Through User-Controlled Key
Reaching this weakness in LearnPress <= 4.3.2.1 takes an account at Instructor level or above. Authorization bypass through a user-controlled key, often called insecure direct object reference, means the application looks up a record by an identifier from the request without checking that the caller owns it.
Changing a number in the request is enough to read or modify other users' records, which on commerce and membership sites means customer data. For LearnPress the fix is 4.3.2.2: builds <= 4.3.2.1 are affected, anything from 4.3.2.2 onward is not.
Remediation
Update to version 4.3.2.2, 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: LearnPress 4.3.2.2 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 LearnPress – WordPress LMS Plugin for Create and Sell Online Courses
- 10.0CVE-2024-8529: LearnPress – WordPress LMS Plugin SQL Injection
CVE-2024-8529 - 10.0CVE-2024-8522: LearnPress – WordPress LMS Plugin SQL Injection
CVE-2024-8522 - 9.8CVE-2024-4434: LearnPress – WordPress LMS Time-Based SQL Injection
CVE-2024-4434 - 9.8CVE-2023-6567: LearnPress <= 4.2.5.7 SQL Injection
CVE-2023-6567 - 9.8CVE-2022-45808: LearnPress <= 4.1.7.3.2 SQL Injection
CVE-2022-45808 - 9.8CVE-2022-47615: LearnPress <= 4.1.7.3.2 Local File Inclusion
CVE-2022-47615 - 9.8CVE-2022-3360: LearnPress <= 4.1.7.1 PHP Object Injection
CVE-2022-3360 - 9.8CVE-2021-24951: LearnPress <= 4.1.3 SQL Injection
CVE-2021-24951
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C