WordPress security changelog
MEDIUM CVE-2026-77823 Deferred

LearnPress order export permits Administrator-level SQL injection

LearnPress through 4.4.4 accepts an attacker-controlled orderby value in the export_order_csv AJAX action. LP_Order::handle_params_query_list_orders() normalizes only date and title; other values flow through DataBase::execute() into the ORDER BY clause without an identifier allowlist or prepared query, allowing an Administrator to extract sensitive database information.

CVE / CNA score 4.9 CVSS 3.1 · security@wordfence.com
NVD score Pending NVD has not published its own CVSS assessment.
Component
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses
Plugin slug
learnpress
Affected
<= 4.4.4
Safe version
See mitigation notes
Published
Sep 01, 2026
Weakness
CWE-89 — Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

This CVE was published Sep 01, 2026 and is one of 81 known issues for this plugin.

Update, patch or deactivate.

Update to a confirmed release newer than 4.4.4 when available. Until then, restrict order-export access when warranted, audit administrator and database activity, and rotate exposed secrets if exploitation is suspected.

No confirmed safe version is listed. Consider a vendor-supported patch or temporarily restricting the affected functionality while you assess the risk.

Deactivate only when warranted by your risk profile, or when advised by your hosting provider in the limited circumstances where the vulnerability cannot otherwise be mitigated. If you’re unsure which action is appropriate, contact Fused or your hosting provider for guidance.

Technical description

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 / CNA vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N

Primary and upstream sources