CVE-2025-14802
Unauthorized File Deletion in LearnPress LMS via REST API
Publication date: 2026-01-07
Last updated on: 2026-01-07
Assigner: Wordfence
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| unknown_vendor | learnpress | to 4.3.2.2 (inc) |
| unknown_vendor | learnpress | 4.3.2.3 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-639 | The system's authorization functionality does not prevent one user from gaining access to another user's data or record by modifying the key value identifying the data. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability exists in the LearnPress WordPress LMS Plugin up to version 4.3.2.2. It allows authenticated users with teacher-level access to delete lesson material files uploaded by other teachers without proper authorization. The issue arises because the DELETE REST API endpoint uses a file_id parameter from the URL path to identify the file to delete, but the permission check validates a different parameter, item_id, from the request body. This mismatch enables attackers to pass authorization by providing their own item_id while deleting files belonging to others by specifying a different file_id.
How can this vulnerability impact me? :
This vulnerability can lead to unauthorized deletion of lesson material files by users with teacher-level access. As a result, important educational content uploaded by other teachers can be removed maliciously or accidentally, potentially disrupting courses, causing data loss, and impacting the learning experience.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by monitoring REST API DELETE requests to the endpoint `/wp-json/lp/v1/material/{file_id}`. Specifically, look for DELETE requests where the URL's `file_id` parameter differs from the `item_id` parameter in the request body, which indicates an attempt to exploit the parameter mismatch vulnerability. You can use network monitoring tools or web server logs to identify such requests. For example, using command-line tools like `grep` on web server access logs to find DELETE requests to the vulnerable endpoint: `grep 'DELETE /wp-json/lp/v1/material/' /path/to/access.log`. Additionally, inspecting the request bodies for mismatched `item_id` values requires capturing HTTP traffic with tools like `tcpdump` or `Wireshark` or using a web application firewall (WAF) with custom rules to detect suspicious DELETE requests targeting this endpoint. [1, 2]
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include: 1. Update the LearnPress plugin to a version later than 4.3.2.2 where this vulnerability is fixed. 2. Restrict access to the REST API endpoint `/wp-json/lp/v1/material/{file_id}` to trusted users only, for example by limiting access to authenticated users with appropriate roles. 3. Implement web application firewall (WAF) rules to block DELETE requests to this endpoint that contain mismatched `file_id` and `item_id` parameters. 4. Review and tighten user permissions, ensuring that only authorized teacher-level users can perform material deletions. 5. Monitor logs for suspicious DELETE requests to this endpoint and respond accordingly. [2]