Website support, maintenance and fixes for UK businessesCall 0208 088 8371info@websupportservices.co.uk

HomeWordPress vulnerabilitiesLearnPress

LearnPress vulnerabilities

LearnPress has 75 known vulnerabilities in this database. The most recent published record is dated 6 Oct 2026.

Known vulnerabilities
75
Active installs
70,000+
Latest version
4.4.9.1
Last updated
1 Oct 2026
Most recent
6 Oct 2026

No fixed version has been published yet, so consider disabling, removing or replacing the plugin until a safe release is available.

Find it in your WordPress dashboard under Plugins. Severity is based on the CVSS score published with the CVE where one is available.

VulnerabilitySeverityAffectedFixPublished
Cross-site scripting (XSS)
CVE-2026-104670
High 7.1Up to 4.4.9Fixed in a later version (latest 4.4.9.1)1 d ago
Cross-site scripting (XSS)
CVE-2026-105397
Medium 5.4Up to 4.4.9.1No fixed version yet2 d ago
Cross-site scripting (XSS)
CVE-2026-92538
Medium 6.1Up to 4.4.7Fixed in a later version (latest 4.4.9.1)4 d ago
Broken access control
CVE-2026-39717
Medium 4.3Up to 4.4.9.1No fixed version yet5 d ago
Broken access control
CVE-2026-104403
Medium 5.3Up to 4.4.9Fixed in a later version (latest 4.4.9.1)5 d ago
Broken access control
CVE-2026-93882
High 7.5Up to 4.4.8Fixed in a later version (latest 4.4.9.1)6 d ago
Sensitive data exposure
CVE-2026-86446
Low 3.7Before 4.4.7Fixed in 4.4.717 Sep 2026
Cross-site scripting (XSS)
CVE-2026-86444
High 7.1Before 4.4.7Fixed in 4.4.716 Sep 2026
Sensitive data exposure
CVE-2026-86445
Medium 5.3Before 4.4.7Fixed in 4.4.716 Sep 2026
Sensitive data exposure
CVE-2026-86447
Medium 5.3Before 4.4.7Fixed in 4.4.716 Sep 2026
Sensitive data exposure
CVE-2026-86448
Low 3.7Before 4.4.7Fixed in 4.4.716 Sep 2026
Sensitive data exposure
CVE-2026-86449
Medium 5.3Before 4.4.7Fixed in 4.4.716 Sep 2026
Cross-site scripting (XSS)
CVE-2026-12230
Medium 6.4Up to 4.3.9.1Fixed in a later version (latest 4.4.9.1)8 Sep 2026
Cross-site scripting (XSS)
CVE-2026-82024
Medium 5.1Before 4.4.6Fixed in 4.4.63 Sep 2026
Broken access control
CVE-2026-82023
Medium 5.3Before 4.4.6Fixed in 4.4.63 Sep 2026
SQL injection
CVE-2026-77823
Medium 4.9Up to 4.4.4Fixed in a later version (latest 4.4.9.1)1 Sep 2026
Sensitive data exposure
CVE-2026-78125
Medium 5.3Up to 4.0.2Fixed in a later version (latest 4.4.9.1)27 Aug 2026
Broken access control
CVE-2026-75982
Medium 4.4Up to 4.4.4Fixed in a later version (latest 4.4.9.1)25 Aug 2026
Sensitive data exposure
CVE-2026-12976
Medium 6.5Before 4.4.4Fixed in 4.4.412 Aug 2026
Server-side request forgery (SSRF)
CVE-2026-12971
Low 2.2Before 4.4.4Fixed in 4.4.410 Aug 2026
Cross-site scripting (XSS)
CVE-2026-12970
High 7.1Before 4.4.1Fixed in 4.4.120 Jul 2026
Sensitive data exposure
CVE-2026-13765
High 7.5Up to 4.4.1Fixed in a later version (latest 4.4.9.1)17 Jul 2026
Cross-site scripting (XSS)
CVE-2026-12732
Medium 6.4Up to 4.4.0Fixed in a later version (latest 4.4.9.1)1 Jul 2026
Broken access control
CVE-2026-11988
Medium 6.5Up to 4.3.9.1Fixed in a later version (latest 4.4.9.1)1 Jul 2026
Broken access control
CVE-2026-8383
Medium 5.3Before 4.3.7Fixed in 4.3.717 Jun 2026
Sensitive data exposure
CVE-2026-8502
Medium 5.3Up to 4.3.6Fixed in a later version (latest 4.4.9.1)6 Jun 2026
Broken access control
CVE-2026-7648
Medium 4.3Up to 4.3.5Fixed in a later version (latest 4.4.9.1)14 May 2026
Broken access control
CVE-2026-4365
Critical 9.1Up to 4.3.2.8Fixed in a later version (latest 4.4.9.1)14 Apr 2026
Cross-site scripting (XSS)
CVE-2026-4333
Medium 6.4Up to 4.3.3Fixed in a later version (latest 4.4.9.1)8 Apr 2026
Broken access control
CVE-2026-3225
Medium 4.3Up to 4.3.2.8Fixed in a later version (latest 4.4.9.1)23 Mar 2026
Broken access control
CVE-2026-3226
Medium 4.3Up to 4.3.2.8Fixed in a later version (latest 4.4.9.1)12 Mar 2026
Sensitive data exposure
CVE-2025-14798
Medium 5.3Up to 4.3.2.4Fixed in a later version (latest 4.4.9.1)20 Jan 2026
Broken access control
CVE-2025-14802
Medium 5.4Up to 4.3.2.2Fixed in a later version (latest 4.4.9.1)7 Jan 2026
Broken access control
CVE-2025-13964
Medium 5.3Up to 4.3.2Fixed in a later version (latest 4.4.9.1)6 Jan 2026
Broken access control
CVE-2025-13956
Medium 5.3Up to 4.3.1Fixed in a later version (latest 4.4.9.1)16 Dec 2025
Sensitive data exposure
CVE-2025-11368
Medium 5.3Up to 4.2.9.4Fixed in a later version (latest 4.4.9.1)21 Nov 2025
Broken access control
CVE-2025-11372
Medium 6.5Up to 4.2.9.2Fixed in a later version (latest 4.4.9.1)18 Oct 2025
Cross-site scripting (XSS)
CVE-2024-13127
Medium 4.8Before 4.2.7.5.1Fixed in 4.2.7.5.115 May 2025
Cross-site scripting (XSS)
CVE-2024-13128
Medium 4.8Before 4.2.7.5.1Fixed in 4.2.7.5.115 May 2025
Cross-site scripting (XSS)
CVE-2024-13599
Medium 6.4Before 4.2.7.5.1Fixed in 4.2.7.5.125 Jan 2025
Cross-site scripting (XSS)
CVE-2024-9881
Medium 4.8Before 4.2.7.2Fixed in 4.2.7.212 Dec 2024
Cross-site scripting (XSS)
CVE-2024-10010
Medium 4.8Before 4.2.7.2Fixed in 4.2.7.212 Dec 2024
Sensitive data exposure
CVE-2024-11868
Medium 5.3Before 4.2.7.4Fixed in 4.2.7.410 Dec 2024
SQL injection
CVE-2024-8522
Critical 10.0Before 4.2.7.1Fixed in 4.2.7.112 Sep 2024
SQL injection
CVE-2024-8529
Critical 10.0Before 4.2.7.1Fixed in 4.2.7.112 Sep 2024
SQL injection
CVE-2024-7548
High 8.8Before 4.2.6.9.4Fixed in 4.2.6.9.48 Aug 2024
File inclusion
CVE-2024-6589
High 8.8Up to 4.2.6.8.2Fixed in a later version (latest 4.4.9.1)25 Jul 2024
Broken access control
CVE-2024-6088
Medium 5.3Before 4.2.6.8.2Fixed in 4.2.6.8.22 Jul 2024
Security weakness
CVE-2024-6099
Medium 5.3Before 4.2.6.8.2Fixed in 4.2.6.8.22 Jul 2024
Sensitive data exposure
CVE-2024-5483
Medium 5.3Before 4.2.6.8.1Fixed in 4.2.6.8.15 Jun 2024
Cross-site scripting (XSS)
CVE-2024-4971
Medium 6.4Before 4.2.6.7Fixed in 4.2.6.722 May 2024
Security weakness
CVE-2024-4444
Medium 5.3Before 4.2.6.6Fixed in 4.2.6.614 May 2024
SQL injection
CVE-2024-4434
Critical 9.8Before 4.2.6.6Fixed in 4.2.6.614 May 2024
Remote code execution
CVE-2024-4397
High 8.8Before 4.2.6.6Fixed in 4.2.6.614 May 2024
Cross-site scripting (XSS)
CVE-2024-4277
Medium 6.4Before 4.2.6.6Fixed in 4.2.6.614 May 2024
Cross-site scripting (XSS)
CVE-2024-3560
Medium 6.4Before 4.2.6.5Fixed in 4.2.6.519 Apr 2024
Cross-site scripting (XSS)
CVE-2024-1463
Medium 4.4Before 4.2.6.4Fixed in 4.2.6.49 Apr 2024
Broken access control
CVE-2024-1289
Medium 6.5Before 4.2.6.4Fixed in 4.2.6.49 Apr 2024
Cross-site request forgery (CSRF)
CVE-2024-2115
High 8.8Before 4.0.1Fixed in 4.0.15 Apr 2024
Cross-site scripting (XSS)
CVE-2023-5558
Medium 6.1Before 4.2.5.5Fixed in 4.2.5.516 Jan 2024
Remote code execution
CVE-2023-6634
High 8.1Up to 4.2.5.7Fixed in a later version (latest 4.4.9.1)11 Jan 2024
SQL injection
CVE-2023-6567
Critical 9.8Before 4.2.5.8Fixed in 4.2.5.811 Jan 2024
Broken access control
CVE-2023-6223
Medium 4.3Up to 4.2.5.7Fixed in a later version (latest 4.4.9.1)11 Jan 2024
File inclusion
CVE-2022-47615
Critical 9.3Before 4.2.0Fixed in 4.2.026 Jan 2023
SQL injection
CVE-2022-45820
Critical 9.1Up to 4.1.7.3.2Fixed in a later version (latest 4.4.9.1)26 Jan 2023
SQL injection
CVE-2022-45808
Critical 9.9Up to 4.1.7.3.2Fixed in a later version (latest 4.4.9.1)26 Jan 2023
Remote code execution
CVE-2022-3360
High 8.1Before 4.1.7.2Fixed in 4.1.7.231 Oct 2022
Cross-site scripting (XSS)
CVE-2022-0271
Medium 6.1Before 4.1.6Fixed in 4.1.611 Apr 2022
Security weakness
CVE-2022-0377
Medium 4.3Before 4.1.5Fixed in 4.1.528 Feb 2022
SQL injection
CVE-2021-24951
Critical 9.8Before 4.1.4Fixed in 4.1.413 Dec 2021
Cross-site scripting (XSS)
CVE-2021-39348
Medium 5.5Up to 4.1.3.1Fixed in a later version (latest 4.4.9.1)21 Oct 2021
Cross-site scripting (XSS)
CVE-2021-24702
Medium 4.8Before 4.1.3.1Fixed in 4.1.3.118 Oct 2021
Broken access control
CVE-2020-11511
High 8.1Before 3.2.6.9Fixed in 3.2.6.930 Jul 2021
SQL injection
CVE-2020-6010
High 8.8Up to 3.2.6.7Fixed in a later version (latest 4.4.9.1)30 Apr 2020
Privilege escalation
CVE-2020-7916
Medium 6.5Up to 3.2.6.5Fixed in a later version (latest 4.4.9.1)16 Mar 2020
Read the published descriptions
CVE-2026-104670, 6 Oct 2026
Unauthenticated Cross Site Scripting (XSS) in LearnPress <= 4.4.9 versions. CVE record
CVE-2026-105397, 5 Oct 2026
LearnPress plugin for WordPress through 4.4.9.1 contains a stored cross-site scripting vulnerability that allows authenticated instructors to inject scripts via quiz question hint and explanation fields. Attackers with the Instructor role can submit unsanitized payloads through the update_question AJAX handler that execute in the session of every student taking the quiz. CVE record
CVE-2026-92538, 3 Oct 2026
The LearnPress - WordPress LMS Plugin for Create and Sell Online Courses plugin for WordPress is vulnerable to Reflected DOM-Based Cross-Site Scripting via the 'orderby' parameter in all versions up to, and including, 4.4.7 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link. CVE record
CVE-2026-39717, 2 Oct 2026
Missing Authorization vulnerability in ThimPress LearnPress learnpress allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects LearnPress: from n/a through 4.4.9.1. CVE record
CVE-2026-104403, 2 Oct 2026
Authorization Bypass Through User-Controlled Key vulnerability in ThimPress LearnPress allows Exploiting Incorrectly Configured Access Control Security Levels. This issue affects LearnPress: from n/a through 4.4.9. CVE record
CVE-2026-93882, 1 Oct 2026
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. CVE record
CVE-2026-86446, 17 Sep 2026
The LearnPress WordPress plugin before 4.4.7 does not restrict the correctness flags it returns when a quiz answer is checked, allowing unauthenticated attackers to obtain the correct answer to every option of a question, along with the instructor's explanation, on courses configured to be taken without enrolling. CVE record
CVE-2026-86444, 16 Sep 2026
The LearnPress WordPress plugin before 4.4.7 does not escape a user supplied value before using it in an HTML attribute on a public page, allowing unauthenticated attackers to execute arbitrary JavaScript in the browser of anyone who opens a crafted link, including a logged in administrator. Only sites running a classic, non-block are affected. CVE record
CVE-2026-86445, 16 Sep 2026
The LearnPress WordPress plugin before 4.4.7 does not check the user's capabilities in one of its administrative template handlers, allowing unauthenticated attackers to retrieve the text, identifier and type of every published quiz question on the site, along with a keyword search over them, which is content the LearnPress WordPress plugin before 4.4.7 otherwise keeps non-public. CVE record
CVE-2026-86447, 16 Sep 2026
The LearnPress WordPress plugin before 4.4.7 does not check the user's capabilities in one of its administrative course tools, allowing unauthenticated attackers to list every enrolled student's display name and user identifier against the course they are enrolled on, and to recover their email addresses through the same handler's search filter. CVE record
CVE-2026-86448, 16 Sep 2026
The LearnPress WordPress plugin before 4.4.7 does not perform any authentication, capability or nonce check before serving a previously generated order export file, allowing unauthenticated attackers who can determine its identifier to download customer names, purchases, amounts and guest email addresses. CVE record
CVE-2026-86449, 16 Sep 2026
The LearnPress WordPress plugin before 4.4.7 does not check the user's capabilities before applying a user supplied post status filter in one of its REST routes, allowing unauthenticated attackers to list courses that are not published, including draft, pending, private, scheduled and trashed ones. CVE record
CVE-2026-12230, 8 Sep 2026
The LearnPress - WordPress LMS Plugin for Create and Sell Online Courses plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'layout_custom_css' parameter in all versions up to, and including, 4.3.9.1 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. CVE record
CVE-2026-82024, 3 Sep 2026
LearnPress WordPress Plugin before 4.4.6 contains a stored cross-site scripting vulnerability that allows authenticated attackers with the Instructor role to inject persistent malicious payloads by submitting unsanitized input into quiz question answer title fields. Attackers can store arbitrary JavaScript through the answer title parameter, which is rendered through an unescaped HTML sink to execute in the browsers of any user who views the affected quiz question, including students, other instructors, and administrators. CVE record
CVE-2026-82023, 3 Sep 2026
LearnPress WordPress Plugin before 4.4.6 contains a broken object-level authorization vulnerability that allows authenticated attackers with the Instructor role to add answers to quiz questions owned by other instructors by exploiting a missing ownership check on the question answer insert path. Attackers can supply arbitrary question identifiers during answer insertion, bypassing instructor-boundary restrictions to persistently modify quiz content across courses they do not own. CVE record
CVE-2026-77823, 1 Sep 2026
The LearnPress plugin for WordPress is vulnerable to SQL Injection via the 'orderby' parameter of the export_order_csv AJAX action in versions up to, and including, 4.4.4. This is due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query in the LP_Order::handle_params_query_list_orders() and DataBase::execute() functions - only the literal values 'date' and 'title' are normalized, while any other attacker-controlled string is assigned directly to the filter's order_by property and concatenated into the ORDER BY clause without $wpdb->prepare() or an identifier whitelist. This makes it possible for authenticated attackers, with administrator-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. CVE record
CVE-2026-78125, 27 Aug 2026
The LearnPress WordPress plugin before 4.0.3 does not perform any authorization check on one of its REST endpoints in all versions up to, and including, 4.0.2, allowing unauthenticated attackers to disclose the payment status of arbitrary orders by enumerating order identifiers. CVE record
CVE-2026-75982, 25 Aug 2026
The LearnPress plugin for WordPress is vulnerable to unauthorized modification of arbitrary WordPress options in versions up to, and including, 4.4.4 via the learnpress_create_page AJAX action. The LP_Admin_Ajax::create_page() handler only checks the edit_pages capability and a wp_rest nonce (both available to Editors), then reads the field_name parameter from the request without restricting it to a learn_press_* allow-list before passing it as the option key to LP_Helper::create_page(), which calls update_option($key_option, $page_id). This makes it possible for authenticated attackers, with Editor-level access and above, to update arbitrary WordPress options to a positive integer (a newly created page ID), enabling actions such as flipping users_can_register to a truthy value to open public registration, corrupting active_plugins to break the site, or otherwise tampering with site-wide settings normally reserved for administrators. CVE record
CVE-2026-12976, 12 Aug 2026
The LearnPress WordPress plugin before 4.4.4 does not verify that a user is enrolled in a course before processing AI-assistant requests against that course's lesson content, allowing any authenticated user such as a subscriber to obtain material from paid courses they have not enrolled in. CVE record
CVE-2026-12971, 10 Aug 2026
The LearnPress WordPress plugin before 4.4.4 does not validate a user-supplied URL before the server fetches it, allowing users with the instructor role to induce the server to issue requests to arbitrary external hosts, a blind and bounded server-side request forgery. CVE record
CVE-2026-12970, 20 Jul 2026
The LearnPress WordPress plugin before 4.4.1 does not escape a search parameter before reflecting it into an HTML attribute, leading to Reflected Cross-Site Scripting that executes in the browser of a logged-in instructor or administrator who is tricked into opening a crafted link. CVE record
CVE-2026-13765, 17 Jul 2026
The LearnPress - WordPress LMS Plugin for Create and Sell Online Courses plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 4.4.1 via the check_answer. This makes it possible for unauthenticated attackers to extract the correct-answer markers, full option lists, explanations, and question content for any quiz question on the site - including questions belonging to paid courses the attacker is not enrolled in. CVE record
CVE-2026-12732, 1 Jul 2026
The LearnPress plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'class_wrapper_form' shortcode attribute in versions up to, and including, 4.4.0. This is due to insufficient input sanitization and output escaping in the FilterCourseTemplate::sections() method at line 98, where the attacker-controlled attribute is inserted into an HTML class attribute via sprintf('<form class="%s">', $class_wrapper_form) without esc_attr() escaping. The FilterCourseShortcode::render() handler does not apply shortcode_atts() filtering, so raw user attributes flow directly through do_action('learn-press/filter-courses/layout', $data) into the template. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. CVE record
CVE-2026-11988, 1 Jul 2026
The LearnPress - WordPress LMS Plugin for Create and Sell Online Courses plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 4.3.9.1 via the 'userId' parameter due to missing validation on a user controlled key. This makes it possible for authenticated attackers, with subscriber-level access and above, to view the course enrollment progress and completion data belonging to any instructor or administrator account on the site. This IDOR does not apply when the target user is a regular subscriber, as the guard correctly blocks cross-subscriber access; exploitation is limited to cases where the victim user holds the LP_TEACHER_ROLE or administrator role. CVE record
CVE-2026-8383, 17 Jun 2026
The LearnPress WordPress plugin before 4.3.7 does not gate the `edit` context on one of its REST endpoint behind the `edit_users` capability, allowing unauthenticated visitors to retrieve each returned user's roles, full capabilities map, extra capabilities, locale, and registration date via a crafted request CVE record
CVE-2026-8502, 6 Jun 2026
The LearnPress - WordPress LMS Plugin for Create and Sell Online Courses plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 4.3.6 via the 'return_type' parameter. This makes it possible for unauthenticated attackers to extract sensitive data including the plaintext post_password of password-protected courses and the full post_content, post_author, and post_name of unpublished draft, private, and pending courses via the unrestricted SELECT * fallback query. Exploitation requires supplying both c_status=all (to bypass the publish-only post_status WHERE clause) and return_type=json (to prevent the safe DISTINCT(ID) AS ID field override) in a single unauthenticated request to the /wp-json/lp/v1/courses/archive-course endpoint. CVE record
CVE-2026-7648, 14 May 2026
The LearnPress - WordPress LMS Plugin for Create and Sell Online Courses plugin for WordPress is vulnerable to payment bypass through user-controlled key in all versions up to, and including, 4.3.5. This is due to improper handling of user-supplied request parameters in the REST API endpoint, which passes the unsanitized parameter array to the add_to_cart() function where array_merge() allows attacker-controlled values to overwrite hardcoded defaults. This makes it possible for authenticated attackers, with subscriber-level access and above, to enroll in any paid course entirely free of charge by supplying a quantity value of zero, which causes the order total to calculate as $0 and bypasses all payment gateway requirements. CVE record
CVE-2026-4365, 14 Apr 2026
The LearnPress plugin for WordPress is vulnerable to unauthorized data deletion due to a missing capability check on the `delete_question_answer()` function in all versions up to, and including, 4.3.2.8. The plugin exposes a `wp_rest` nonce in public frontend HTML (`lpData`) to unauthenticated visitors, and uses that nonce as the only security gate for the `lp-load-ajax` AJAX dispatcher. The `delete_question_answer` action has no capability or ownership check. This makes it possible for unauthenticated attackers to delete any quiz answer option by sending a crafted POST request with a publicly available nonce. CVE record
CVE-2026-4333, 8 Apr 2026
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'skin' attribute of the learn_press_courses shortcode in all versions up to and including 4.3.3. This is due to insufficient input sanitization and output escaping on the 'skin' shortcode attribute. The attribute value is used directly in an sprintf() call that generates HTML (class attribute and data-layout attribute) without any esc_attr() escaping. This makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. CVE record
CVE-2026-3225, 23 Mar 2026
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to unauthorized deletion of quiz question answers due to a missing capability check in the delete_question_answer() function of the EditQuestionAjax class in all versions up to, and including, 4.3.2.8. The AbstractAjax::catch_lp_ajax() dispatcher verifies a wp_rest nonce but performs no current_user_can() check, and the QuestionAnswerModel::delete() method only validates minimum answer counts without checking user capabilities. This makes it possible for authenticated attackers, with Subscriber-level access and above, to delete answer options from any quiz question on the site. CVE record
CVE-2026-3226, 12 Mar 2026
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to unauthorized email notification triggering due to missing capability checks on all 10 functions in the SendEmailAjax class in all versions up to, and including, 4.3.2.8. The AbstractAjax::catch_lp_ajax() dispatcher verifies a wp_rest nonce but performs no current_user_can() check before dispatching to handler functions. The wp_rest nonce is embedded in the frontend JavaScript for all authenticated users. This makes it possible for authenticated attackers, with Subscriber-level access and above, to trigger arbitrary email notifications to admins, instructors, and users, enabling email flooding, social engineering, and impersonation of admin decisions regarding instructor requests. CVE record
CVE-2025-14798, 20 Jan 2026
The LearnPress - WordPress LMS Plugin for WordPress is vulnerable to Sensitive Information Exposure in versions up to, and including, 4.3.2.4 via the get_item_permissions_check function. This makes it possible for unauthenticated attackers to extract sensitive data including user first names and last names. Other information such as social profile links and enrollment are also included. CVE record
CVE-2025-14802, 7 Jan 2026
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. CVE record
CVE-2025-13964, 6 Jan 2026
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to unauthorized modification of data due to a missing capability check on the catch_lp_ajax function in all versions up to, and including, 4.3.2. This makes it possible for unauthenticated attackers to modify course contents by adding/removing/updating/re-ordering sections or modifying section items. CVE record
CVE-2025-13956, 16 Dec 2025
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to unauthorized access of data due to a missing capability check on the statistic function in all versions up to, and including, 4.3.1. This makes it possible for unauthenticated attackers to view the plugin's orders statistics, including total revenue summaries and order status counts CVE record
CVE-2025-11368, 21 Nov 2025
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to Sensitive Information Disclosure in all versions up to, and including, 4.2.9.4. This is due to missing capability checks in the REST endpoint /wp-json/lp/v1/load_content_via_ajax which allows arbitrary callback execution of admin-only template methods. This makes it possible for unauthenticated attackers to retrieve admin curriculum HTML, quiz questions with correct answers, course materials, and other sensitive educational content via the REST API endpoint granted they can supply valid numeric IDs. CVE record
CVE-2025-11372, 18 Oct 2025
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to modification of data in all versions up to, and including, 4.2.9.2. This is due to missing capability checks on the Admin Tools REST endpoints which are registered with permission_callback set to __return_true. This makes it possible for unauthenticated attackers to perform destructive database operations including dropping indexes on any table (including WordPress core tables like wp_options), creating duplicate configuration entries, and degrading site performance via the /wp-json/lp/v1/admin/tools/create-indexs endpoint granted they can provide table names. CVE record
CVE-2024-13127, 15 May 2025
The LearnPress WordPress plugin before 4.2.7.5.1 does not sanitise and escape some of its settings, which could allow high privilege users such as admin to perform Stored Cross-Site Scripting attacks even when the unfiltered_html capability is disallowed (for example in multisite setup). CVE record
CVE-2024-13128, 15 May 2025
The LearnPress WordPress plugin before 4.2.7.5.1 does not sanitise and escape some of its settings, which could allow high privilege users such as admin to perform Stored Cross-Site Scripting attacks even when the unfiltered_html capability is disallowed (for example in multisite setup). CVE record
CVE-2024-13599, 25 Jan 2025
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to Stored Cross-Site Scripting in all versions up to, and including, 4.2.7.5 due to insufficient input sanitization and output escaping of a lesson name. This makes it possible for authenticated attackers, with LP Instructor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. CVE record
CVE-2024-9881, 12 Dec 2024
The LearnPress WordPress plugin before 4.2.7.2 does not sanitise and escape some of its settings, which could allow high privilege users such as admin to perform Stored Cross-Site Scripting attacks even when the unfiltered_html capability is disallowed (for example in multisite setup). CVE record
CVE-2024-10010, 12 Dec 2024
The LearnPress WordPress plugin before 4.2.7.2 does not sanitise and escape some of its settings, which could allow high privilege users such as admin to perform Stored Cross-Site Scripting attacks even when the unfiltered_html capability is disallowed (for example in multisite setup). CVE record
CVE-2024-11868, 10 Dec 2024
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 4.2.7.3 via class-lp-rest-material-controller.php. This makes it possible for unauthenticated attackers to extract potentially sensitive paid course material. CVE record
CVE-2024-8522, 12 Sep 2024
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to SQL Injection via the 'c_only_fields' parameter of the /wp-json/learnpress/v1/courses REST API endpoint in all versions up to, and including, 4.2.7 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. CVE record
CVE-2024-8529, 12 Sep 2024
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to SQL Injection via the 'c_fields' parameter of the /wp-json/lp/v1/courses/archive-course REST API endpoint in all versions up to, and including, 4.2.7 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. CVE record
CVE-2024-7548, 8 Aug 2024
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to time-based SQL Injection via the 'order' parameter in all versions up to, and including, 4.2.6.9.3 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for authenticated attackers, with Contributor-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. CVE record
CVE-2024-6589, 25 Jul 2024
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to Local File Inclusion in all versions up to, and including, 4.2.6.8.2 via the 'render_content_block_template' function. This makes it possible for authenticated attackers, with Contributor-level access and above, to include and execute arbitrary files on the server, allowing the execution of any PHP code in those files. This can be used to bypass access controls, obtain sensitive data, or achieve code execution in cases where images and other “safe” file types can be uploaded and included. CVE record
CVE-2024-6088, 2 Jul 2024
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to unauthorized user registration due to a missing capability check on the 'register' function in all versions up to, and including, 4.2.6.8.1. This makes it possible for unauthenticated attackers to bypass disabled user registration to create a new account with the default role. CVE record
CVE-2024-6099, 2 Jul 2024
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to unauthenticated bypass to user registration in versions up to, and including, 4.2.6.8.1. This is due to missing checks in the 'check_validate_fields' function in the checkout. This makes it possible for unauthenticated attackers to register as the default role on the site, even if registration is disabled. CVE record
CVE-2024-5483, 5 Jun 2024
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 4.2.6.8 due to incorrect implementation of get_items_permissions_check function. This makes it possible for unauthenticated attackers to extract basic information about website users, including their emails CVE record
CVE-2024-4971, 22 May 2024
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via the ‘id’ parameter in all versions up to, and including, 4.2.6.6 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link. CVE record
CVE-2024-4444, 14 May 2024
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to bypass to user registration in versions up to, and including, 4.2.6.5. This is due to missing checks in the 'create_account' function in the checkout. This makes it possible for unauthenticated attackers to register as the default role on the site, even if registration is disabled. CVE record
CVE-2024-4434, 14 May 2024
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to time-based SQL Injection via the ‘term_id’ parameter in versions up to, and including, 4.2.6.5 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. CVE record
CVE-2024-4397, 14 May 2024
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to arbitrary file uploads due to missing file type validation in the 'save_post_materials' function in versions up to, and including, 4.2.6.5. This makes it possible for authenticated attackers, with Instructor-level permissions and above, to upload arbitrary files on the affected site's server which may make remote code execution possible. CVE record
CVE-2024-4277, 14 May 2024
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the ‘layout_html’ parameter in all versions up to, and including, 4.2.6.5 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. CVE record
CVE-2024-3560, 19 Apr 2024
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the _id value in all versions up to, and including, 4.2.6.4 due to insufficient input sanitization and output escaping on user supplied attributes. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. CVE record
CVE-2024-1463, 9 Apr 2024
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the Course, Lesson, and Quiz title and content in all versions up to, and including, 4.2.6.3 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with LP Instructor-level access, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. CVE record
CVE-2024-1289, 9 Apr 2024
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 4.2.6.3 due to missing validation on a user controlled key when looking up order information. This makes it possible for authenticated attackers to obtain information on orders placed by other users and guests, which can be leveraged to sign up for paid courses that were purchased by guests. Emails of other users are also exposed. CVE record
CVE-2024-2115, 5 Apr 2024
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to Cross-Site Request Forgery in all versions up to, and including, 4.0.0. This is due to missing or incorrect nonce validation on the filter_users functions. This makes it possible for unauthenticated attackers to elevate their privileges to that of a teacher via a forged request granted they can trick a site administrator into performing an action such as clicking on a link. CVE record
CVE-2023-5558, 16 Jan 2024
The LearnPress WordPress plugin before 4.2.5.5 does not sanitise and escape user input before outputting it back in the page, leading to a Reflected Cross-Site Scripting which could be used against high privilege users such as admin. CVE record
CVE-2023-6634, 11 Jan 2024
The LearnPress plugin for WordPress is vulnerable to Command Injection in all versions up to, and including, 4.2.5.7 via the get_content function. This is due to the plugin making use of the call_user_func function with user input. This makes it possible for unauthenticated attackers to execute any public function with one parameter, which could result in remote code execution. CVE record
CVE-2023-6567, 11 Jan 2024
The LearnPress plugin for WordPress is vulnerable to time-based SQL Injection via the ‘order_by’ parameter in all versions up to, and including, 4.2.5.7 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. CVE record
CVE-2023-6223, 11 Jan 2024
The LearnPress plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 4.2.5.7 via the /wp-json/lp/v1/profile/course-tab REST API due to missing validation on the 'userID' user controlled key. This makes it possible for authenticated attackers, with subscriber-level access and above, to retrieve the details of another user's course progress. CVE record
CVE-2022-47615, 26 Jan 2023
Local File Inclusion vulnerability in LearnPress - WordPress LMS Plugin <= 4.1.7.3.2 versions. CVE record
CVE-2022-45820, 26 Jan 2023
SQL Injection (SQLi) vulnerability in LearnPress - WordPress LMS Plugin <= 4.1.7.3.2 versions. CVE record
CVE-2022-45808, 26 Jan 2023
SQL Injection vulnerability in LearnPress - WordPress LMS Plugin <= 4.1.7.3.2 versions. CVE record
CVE-2022-3360, 31 Oct 2022
The LearnPress WordPress plugin before 4.1.7.2 unserialises user input in a REST API endpoint available to unauthenticated users, which could lead to PHP Object Injection when a suitable gadget is present, leadint to remote code execution (RCE). To successfully exploit this vulnerability attackers must have knowledge of the site secrets, allowing them to generate a valid hash via the wp_hash() function. CVE record
CVE-2022-0271, 11 Apr 2022
The LearnPress WordPress plugin before 4.1.6 does not sanitise and escape the lp-dismiss-notice before outputting it back via the lp_background_single_email AJAX action, leading to a Reflected Cross-Site Scripting CVE record
CVE-2022-0377, 28 Feb 2022
Users of the LearnPress WordPress plugin before 4.1.5 can upload an image as a profile avatar after the registration. After this process the user crops and saves the image. Then a "POST" request that contains user supplied name of the image is sent to the server for renaming and cropping of the image. As a result of this request, the name of the user-supplied image is changed with a MD5 value. This process can be conducted only when type of the image is JPG or PNG. An attacker can use this vulnerability in order to rename an arbitrary image file. By doing this, they could destroy the design of the web site. CVE record
CVE-2021-24951, 13 Dec 2021
The LearnPress WordPress plugin before 4.1.4 does not sanitise, validate and escape the id parameter before using it in SQL statements when duplicating course/lesson/quiz/question, leading to SQL Injections issues CVE record
CVE-2021-39348, 21 Oct 2021
The LearnPress WordPress plugin is vulnerable to Stored Cross-Site Scripting due to insufficient escaping on the $custom_profile parameter found in the ~/inc/admin/views/backend-user-profile.php file which allowed attackers with administrative user access to inject arbitrary web scripts, in versions up to and including 4.1.3.1. This affects multi-site installations where unfiltered_html is disabled for administrators, and sites where unfiltered_html is disabled. Please note that this is seperate from CVE-2021-24702. CVE record
CVE-2021-24702, 18 Oct 2021
The LearnPress WordPress plugin before 4.1.3.1 does not properly sanitize or escape various inputs within course settings, which could allow high privilege users to perform Cross-Site Scripting attacks when the unfiltred_html capability is disallowed CVE record
CVE-2020-11511, 30 Jul 2021
The LearnPress plugin before 3.2.6.9 for WordPress allows remote attackers to escalate the privileges of any user to LP Instructor via the accept-to-be-teacher action parameter. CVE record
CVE-2020-6010, 30 Apr 2020
LearnPress Wordpress plugin version prior and including 3.2.6.7 is vulnerable to SQL Injection CVE record
CVE-2020-7916, 16 Mar 2020
be_teacher in class-lp-admin-ajax.php in the LearnPress plugin 3.2.6.5 and earlier for WordPress allows any registered user to assign itself the teacher role via the wp-admin/admin-ajax.php?action=learnpress_be_teacher URI without any additional permission checks. Therefore, any user can change its role to an instructor/teacher and gain access to otherwise restricted data. CVE record

What to do if you run LearnPress

If you run LearnPress, open WordPress and check the installed version in Plugins. Compare it with the affected versions in the vulnerability record. If a fixed version is available, take a current backup and update to that version or the latest supported release.

If no fixed version exists, consider disabling and removing the plugin or replacing it with a maintained alternative. After dealing with the affected software, check administrator users, unexpected file changes, redirects, unfamiliar pages and security logs for signs that the site may already have been altered.

Email me about new LearnPress vulnerabilities

Free. We email you when a new vulnerability is published for LearnPress, usually within minutes. Confirm by email; unsubscribe any time.

Focus on your business. We’ll take care of your website.

From everyday updates to ongoing care, we keep your website working.

Get website support