Skip to main content

LearnPress WordPress Plugin CVE-2024-8522

CRITICAL
SQL Injection (CWE-89)
2024-09-12 security@wordfence.com
10.0
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Recon
    Identify WordPress site running LearnPress
  2. Delivery
    Send crafted GET to /wp-json/learnpress/v1/courses
  3. Exploit
    Inject UNION SELECT via c_only_fields parameter
  4. Install
    Database appends attacker SQL to existing query
  5. C2
    Extract admin hashes and PII from JSON response
  6. Execute
    Crack hashes or pivot to admin login
  7. Impact
    Full site compromise via plugin/theme upload

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

Only prerequisite is that the target WordPress site has LearnPress ≤ 4.2.7 installed and active, with the WordPress REST API reachable from the attacker (default WordPress configuration). No authentication, no user interaction, no specific LearnPress course-publishing state, and no non-default settings are required - the vulnerable /wp-json/learnpress/v1/courses endpoint is exposed by the plugin on activation. Limiting factors are minimal: only sites that block /wp-json/* at the edge, force authentication on the REST API via a security plugin, or have already upgraded past 4.2.7 are not exploitable.

Impact

All signals point to high real-world priority: CVSS 10.0 with vector AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H indicates network-reachable, low-complexity, unauthenticated exploitation with scope change and full CIA impact; EPSS at 88.05% (99th percentile) reflects very high probability of exploitation in the next 30 days; publicly available POC further lowers the bar for opportunistic attackers scanning WordPress sites. The vulnerability is not currently listed in CISA KEV, so 'confirmed actively exploited' cannot be asserted - however, the combination of mass-deployed WordPress plugin, unauthenticated SQLi, and public POC makes opportunistic mass-scanning highly plausible. A minor caveat: the CVSS vector lists S:C (scope changed) and A:H, while the description characterizes the primary impact as data extraction (confidentiality); the integrity/availability scoring may be aspirational rather than demonstrated, but this does not meaningfully reduce defender urgency.

Exploit ScenarioDerived

An attacker scanning the internet for WordPress sites running LearnPress sends an unauthenticated HTTP GET to https://victim/wp-json/learnpress/v1/courses with a malicious payload in the c_only_fields query parameter - for example a UNION SELECT that joins to wp_users - and receives the database response inline in the JSON body, extracting admin password hashes and session/email data. Because publicly available exploit code exists and no authentication or user interaction is required, this attack is trivially automatable across the LearnPress install base.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
Patch available 88.1% exploitation probability (EPSS)

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

Alert me

AnalysisAI

SQL injection in LearnPress LMS plugin for WordPress (versions ≤ 4.2.7) allows unauthenticated remote attackers to inject arbitrary SQL via the 'c_only_fields' parameter of the /wp-json/learnpress/v1/courses REST endpoint, enabling extraction of sensitive database contents including user credentials and PII. Publicly available exploit code exists, and the EPSS score of 88.05% (99th percentile) indicates very high real-world exploitation likelihood, though the issue is not currently listed in CISA KEV.

RemediationAI

Patch available per vendor advisory - upgrade LearnPress to a fixed release greater than 4.2.7 via the WordPress plugin updater or by downloading the latest version from https://wordpress.org/plugins/learnpress/; review the Wordfence advisory at wordfence.com for the precise patched version and disclosure timeline. If immediate patching is not possible, compensating controls include blocking or restricting access to the /wp-json/learnpress/v1/courses endpoint at the WAF or reverse-proxy layer (trade-off: legitimate course listing API consumers and the LearnPress frontend course browser may break), deploying a WordPress WAF rule that filters the 'c_only_fields' parameter for SQL metacharacters such as UNION, SELECT, single quotes, and parentheses (trade-off: may produce false positives on legitimate field names), or temporarily deactivating the LearnPress plugin until upgrade (trade-off: takes the entire LMS offline). Generic 'disable REST API' is not recommended as it breaks WordPress core functionality.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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

Technical ContextAI · show details

LearnPress (vendor: ThimPress, CPE cpe:2.3:a:thimpress:learnpress) is one of the most widely installed Learning Management System plugins for WordPress, exposing course management functionality through WordPress REST API routes under /wp-json/learnpress/v1/. The flaw is a CWE-89 (Improper Neutralization of Special Elements used in an SQL Command) caused by the 'c_only_fields' query parameter being concatenated into a SQL statement without proper escaping and without use of $wpdb->prepare() placeholders. Because the vulnerable endpoint is reachable without authentication and the SQL query is appended (stacked/UNION-style injection per the description), the attacker can pivot from a public course-listing endpoint into arbitrary read access against the WordPress database (wp_users, wp_usermeta, etc.).

Know when Learnpress 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

NVD PRIMARY 10.0 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

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

Lifecycle Timeline

3
Patch released
Apr 08, 2026 - 19:39 nvd
Patch available
PoC Detected
Apr 08, 2026 - 19:22 vuln.today
Public exploit code
CVE Published
Sep 12, 2024 - 09:15 nvd
CRITICAL 10.0

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

LearnPress LMS plugin for WordPress (versions 4.2.7 and earlier) contains a critical SQL injection vulnerability allowing unauthenticated attackers to extract sensitive database contents, including user credentials and personal information. Organizations using this plugin face immediate risk of data breach and compromise of all stored student and instructor records. Publicly available exploit code significantly increases attack likelihood, making immediate patching a priority to prevent unauthorized access to operational systems.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

Threat Score
6.1/10
Composite threat intelligence
EPSS Score
88.1%
Top 1% exploitable
Exploit
POC
Public exploit code exists
Data Quality
4 sources
Confidence: Medium

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 CRITICAL
CISA KEV No
Public POC Yes
EPSS 88.1%
Patch available Yes
Active threat Yes
Deciding rule
CRITICAL severity + public POC available
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
Out-of-Cycle
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Very High

Priority Score

158
Low Medium High Critical
KEV: 0
EPSS: +88
CVSS: +50
PoC: +20
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.

Affected Products (CPE)CVE.org

cpe:2.3:a:thimpress:learnpress:*:*:*:*:*:wordpress:*:*
CVE-2023-6634 HIGH POC
8.1 Jan 11

The LearnPress plugin for WordPress is vulnerable to Command Injection in all versions up to, and including, 4.2.5.7 via

CVE-2023-6567 CRITICAL POC
9.8 Jan 11

The LearnPress plugin for WordPress is vulnerable to time-based SQL Injection via the ‘order_by’ parameter in all versio

CVE-2024-4434 CRITICAL POC
9.8 May 14

SQL injection in the LearnPress LMS plugin for WordPress (versions up to and including 4.2.6.5) allows remote unauthenti

CVE-2024-8529 CRITICAL POC
10.0 Sep 12

The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to SQL Injection via the 'c_fields' parameter o

CVE-2021-24951 CRITICAL POC
9.8 Dec 13

The LearnPress WordPress plugin before 4.1.4 does not sanitise, validate and escape the id parameter before using it in

CVE-2026-12976 MEDIUM POC
6.5 Aug 12

Unauthorized access to paid course content in LearnPress WordPress plugin (all versions before 4.4.4) allows any authent

CVE-2020-6010 HIGH POC
8.8 Apr 30

LearnPress Wordpress plugin version prior and including 3.2.6.7 is vulnerable to SQL Injection. Rated high severity (CVS

CVE-2022-3360 HIGH POC
8.1 Oct 31

The LearnPress WordPress plugin before 4.1.7.2 unserialises user input in a REST API endpoint available to unauthenticat

CVE-2024-11868 MEDIUM POC
5.3 Dec 10

The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to Sensitive Information Exposure in all versio

CVE-2026-86444 HIGH POC
7.1 Sep 16

Reflected cross-site scripting in the LearnPress WordPress plugin before 4.4.7 allows unauthenticated attackers to injec

CVE-2026-12970 HIGH POC
7.1 Jul 20

Reflected Cross-Site Scripting in the LearnPress WordPress plugin before 4.4.1 lets a remote attacker execute arbitrary

CVE-2024-4397 HIGH
8.8 May 14

The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to arbitrary file uploads due to missing file t

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