LearnPress WordPress Plugin
CVE-2024-8522
CRITICAL
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconIdentify WordPress site running LearnPress
-
DeliverySend crafted GET to /wp-json/learnpress/v1/courses
-
ExploitInject UNION SELECT via c_only_fields parameter
-
InstallDatabase appends attacker SQL to existing query
-
C2Extract admin hashes and PII from JSON response
-
ExecuteCrack hashes or pivot to admin login
-
ImpactFull 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAI
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
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
Lifecycle Timeline
3DescriptionCVE.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
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.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
Affected Products (CPE)CVE.org
More in Learnpress
View allThe LearnPress plugin for WordPress is vulnerable to Command Injection in all versions up to, and including, 4.2.5.7 via
The LearnPress plugin for WordPress is vulnerable to time-based SQL Injection via the ‘order_by’ parameter in all versio
SQL injection in the LearnPress LMS plugin for WordPress (versions up to and including 4.2.6.5) allows remote unauthenti
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to SQL Injection via the 'c_fields' parameter o
The LearnPress WordPress plugin before 4.1.4 does not sanitise, validate and escape the id parameter before using it in
Unauthorized access to paid course content in LearnPress WordPress plugin (all versions before 4.4.4) allows any authent
LearnPress Wordpress plugin version prior and including 3.2.6.7 is vulnerable to SQL Injection. Rated high severity (CVS
The LearnPress WordPress plugin before 4.1.7.2 unserialises user input in a REST API endpoint available to unauthenticat
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to Sensitive Information Exposure in all versio
Reflected cross-site scripting in the LearnPress WordPress plugin before 4.4.7 allows unauthenticated attackers to injec
Reflected Cross-Site Scripting in the LearnPress WordPress plugin before 4.4.1 lets a remote attacker execute arbitrary
The LearnPress - WordPress LMS Plugin plugin for WordPress is vulnerable to arbitrary file uploads due to missing file t
NVD
CVE.org
EPSS
Exploit-DB
GitHub PoC