Skip to main content

LearnPress EUVDEUVD-2026-68979

| CVE-2026-77823 MEDIUM
SQL Injection (CWE-89)
2026-09-01 Wordfence GHSA-j6rx-39p3-383g
4.9
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain WordPress administrator credentials
  2. Delivery
    Authenticate to target WordPress instance
  3. Exploit
    Send crafted AJAX POST to admin-ajax.php with malicious 'orderby' value
  4. Execution
    Bypass partial whitelist in handle_params_query_list_orders()
  5. Persist
    ORDER BY clause injection executes in DataBase::execute()
  6. Impact
    Extract sensitive records from WordPress database

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an authenticated session with WordPress administrator-level privileges or higher (confirmed by CVSS PR:H). The attack targets the export_order_csv AJAX action, which is gated behind this privilege check - subscriber, contributor, or editor roles cannot reach the vulnerable code path. The 'orderby' parameter must contain a value other than the literal strings 'date' or 'title' to bypass the partial normalization logic. The target installation must be running LearnPress version 4.4.4 or earlier. Attack vector is network (AV:N), meaning exploitation is possible remotely once the attacker has obtained valid administrator credentials. No special server-side configuration or non-default feature flag is required beyond having the plugin installed and active.

Impact

The CVSS 4.9 (Medium) score with vector AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N accurately represents the real-world risk profile. The high privilege requirement (PR:H - WordPress administrator) is the dominant mitigating factor; this vulnerability is entirely unreachable by unauthenticated or subscriber/editor-level users. While the confidentiality impact is rated High - meaning full database read is theoretically possible - WordPress administrators already possess direct database access through native tooling (phpMyAdmin, WP-CLI, wp-admin export), which substantially reduces the marginal risk this flaw introduces. EPSS data was not provided in the source intelligence, so exploitation probability cannot be quantified. KEV status is not confirmed, and no public POC has been noted. This should be treated as a low-priority patch for most organizations unless administrator accounts are shared across untrusted parties or the installation is a multi-tenant WordPress environment.

Exploit ScenarioDerived

An attacker with WordPress administrator credentials sends a crafted POST request to the admin-ajax.php endpoint invoking the export_order_csv action, with the 'orderby' parameter set to a SQL UNION or time-based blind injection payload. Because the value bypasses the partial whitelist and is concatenated directly into the ORDER BY clause in DataBase::execute(), the injected SQL executes against the WordPress database, enabling retrieval of password hashes, user emails, session tokens, or order metadata. No public exploit code has been identified, though ORDER BY injection techniques are well-documented and the vulnerability is mechanically straightforward to exploit once authenticated.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 01, 2026

SQL injection in the LearnPress WordPress LMS plugin (versions ≤ 4.4.4) allows authenticated administrators to extract arbitrary data from the WordPress database by injecting into the ORDER BY clause of the export_order_csv AJAX action. The flaw exists because the 'orderby' parameter is only partially normalized - only the literal strings 'date' and 'title' are whitelisted - and all other attacker-controlled values are concatenated directly into a raw SQL query inside DataBase::execute() without $wpdb->prepare() or an identifier allowlist. No public exploit has been identified at time of analysis, and the CVSS score of 4.9 (Medium) reflects the high privilege barrier as the primary risk limiter.

RemediationAI

Update the LearnPress plugin to a version beyond 4.4.4 as soon as a patched release is available. A fix has been committed to the WordPress plugin repository (changeset https://plugins.trac.wordpress.org/changeset?reponame=&old=3659942%40learnpress&new=3659942%40learnpress), but the exact released version number is not independently confirmed from the provided input data - verify the current stable version in the WordPress plugin directory before deploying. As a compensating control pending the update, restrict the export_order_csv AJAX action at the WAF or web server layer by blocking requests to admin-ajax.php with action=export_order_csv from untrusted network segments. Alternatively, if the order CSV export feature is unused, it can be disabled without impacting core LMS functionality. Limiting WordPress administrator account access to the minimum number of trusted users is also a practical risk reduction measure with no side effects.

Affected VersionsENISA

LearnPress – WordPress LMS Plugin for Create and Sell Online Courses 0 ≤4.4.4

Affected Packages

euvd learnpress_wordpress_lms_plugin_for_create_and_sell_online_courses no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

LearnPress is a WordPress LMS plugin developed by ThimPress (CPE: cpe:2.3:a:thimpress:learnpress_-_wordpress_lms_plugin_for_create_and_sell_online_courses:*:*:*:*:*:*:*:*). The vulnerability chain begins in ExportOrderCSVAjax.php (line 41), which passes the user-supplied 'orderby' parameter to LP_Order::handle_params_query_list_orders() (class-lp-order.php, line 1542). That function assigns unvalidated values directly to the filter's order_by property, which is then consumed by DataBase::execute() (DataBase.php, line 600) and concatenated into an ORDER BY SQL clause. CWE-89 (Improper Neutralization of Special Elements in SQL Commands) describes the root cause. ORDER BY injection is a particularly insidious variant because WordPress's $wpdb->prepare() cannot parameterize SQL identifiers or column names - only an explicit allowlist or identifier-escaping function can safely handle this case, neither of which was applied here.

Know when Learnpress Wordpress Lms Plugin For Create And Sell Online Courses gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Wordfence) PRIMARY 4.9 MEDIUM
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 4.9 MEDIUM

Administrator authentication required (PR:H) for AJAX action access; only database read demonstrated, no integrity or availability impact applies.

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.4%
Top 72% exploitable
Prevalence
Medium
popular WordPress LMS plugin with significant active install base
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

24
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +24
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

CVE-2026-104736 CRITICAL
9.8 Oct 17

Unauthenticated PHP object injection in the LearnPress WordPress LMS plugin through version 4.4.10 allows attackers to s

CVE-2026-4365 CRITICAL
9.1 Apr 14

Unauthenticated data deletion in LearnPress WordPress LMS plugin (versions ≤4.3.2.8) allows remote attackers to delete a

CVE-2026-13765 HIGH
7.5 Jul 17

Sensitive information exposure in the LearnPress LMS plugin for WordPress (versions up to and including 4.4.1) lets unau

CVE-2026-93882 HIGH
7.5 Oct 01

Unauthenticated attackers can read and download course-material files - including uploaded file paths and external URLs

CVE-2026-109208 HIGH
7.2 Oct 17

Stored cross-site scripting in the LearnPress WordPress LMS plugin (all versions up to and including 4.4.10) lets attack

CVE-2026-11988 MEDIUM
6.5 Jul 01

Course enrollment data exposure in LearnPress WordPress LMS plugin (all versions through 4.3.9.1) enables authenticated

CVE-2026-107744 MEDIUM
6.5 Oct 17

An authorization bypass in the LearnPress WordPress LMS plugin (all versions through 4.4.10) lets any authenticated user

CVE-2026-12230 MEDIUM
6.4 Sep 08

Stored cross-site scripting in LearnPress - WordPress LMS Plugin versions through 4.3.9.1 allows authenticated contribut

CVE-2026-12732 MEDIUM
6.4 Jul 01

Stored Cross-Site Scripting in the LearnPress WordPress LMS plugin (versions up to and including 4.4.0) allows authentic

CVE-2026-4333 MEDIUM
6.4 Apr 08

Stored Cross-Site Scripting in LearnPress WordPress LMS Plugin up to version 4.3.3 allows authenticated contributors to

CVE-2026-92538 MEDIUM
6.1 Oct 03

LearnPress WordPress LMS plugin versions through 4.4.7 reflect unsanitized input from the 'orderby' parameter into the D

CVE-2026-8502 MEDIUM
5.3 Jun 06

Sensitive information exposure in LearnPress WordPress LMS Plugin (all versions through 4.3.6) allows unauthenticated re

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy