Skip to main content

LearnPress EUVDEUVD-2026-103216

| CVE-2026-109208 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-17 Wordfence GHSA-xjwq-jfhh-r4m2
7.2
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Submit crafted order_comments or quantity at checkout
  2. Delivery
    Payload stored unsanitized in order record
  3. Exploit
    Admin opens order/invoice in wp-admin
  4. Execution
    Script executes in admin session
  5. Impact
    Hijack session or forge admin actions

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

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

Exploitation Conditions

Two injection vectors are involved: the 'quantity' parameter handled by the LearnPress frontend REST courses controller, and the 'order_comments' field in the checkout flow. Exploitation is fully unauthenticated only when the site has guest checkout enabled; when guest checkout is disabled, the attacker needs any Subscriber-level account and exploits both vectors through their own checkout. The stored payload executes when a user - in practice a store administrator - views the affected order details or invoice export page in wp-admin, so the impact is realized through routine operator activity rather than attacker-triggered. Limiting factors: dependence on the guest-checkout setting for the unauthenticated path, and the need for a victim to open the affected order/invoice page.

Impact

This is a credible but moderate-priority issue. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C) and the 7.2 base score reflect network-reachable, low-complexity stored XSS with a scope change, where injection in a buyer-facing checkout flow executes in a different security context (the WordPress admin viewing orders/invoices). The PR:N rating is only valid in the guest-checkout-enabled configuration explicitly called out in the description; with guest checkout disabled, a Subscriber-level account is required, so real-world privilege requirements depend on site configuration - the single CVSS vector flattens two materially different attack preconditions. No EPSS score, CISA KEV entry, or public POC is present in the supplied data, so there is no evidence of active exploitation. Confidentiality and integrity impacts are Low (C:L/I:L, A:N), consistent with session/DOM-level script execution rather than direct code execution. Net: a real, patchable XSS in a widely-installed plugin that warrants prompt patching, but not an emergency on the level of an actively-exploited RCE. Note the UI:N choice is debatable since the payload executes only when a victim (typically an admin) views the affected order page - routine for store operators, but technically a form of required interaction.

Exploit ScenarioDerived

An attacker places an order through the LearnPress checkout and submits a malicious script payload in the 'order_comments' field (or the REST 'quantity' parameter), which is stored without sanitization. When a site administrator later opens the order details or invoice export in wp-admin, the script executes in the admin's authenticated session, enabling actions such as session/cookie theft or admin-context request forgery. With guest checkout enabled this requires no authentication at all; otherwise a free Subscriber account suffices. No public exploit code was identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet

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

Alert me

AnalysisAIv1 – Oct 17, 2026

Stored cross-site scripting in the LearnPress WordPress LMS plugin (all versions up to and including 4.4.10) lets attackers plant arbitrary JavaScript that executes in a store administrator's browser when they open the affected order details or invoice export screens in wp-admin. Two injection points exist: the 'quantity' parameter handled by the frontend REST courses controller and the 'order_comments' field captured during checkout; the unauthenticated path depends on the site having guest checkout enabled, while sites with guest checkout disabled still expose both vectors to any Subscriber-level account. CISA KEV does not list this issue and no public exploit identified at time of analysis; exploitation requires the victimized operator to view a poisoned order or invoice page, which keeps it a credible but moderate-priority risk despite a 7.2 CVSS score reflecting scope change into the admin context.

RemediationAI

Upstream fix available (PR/commit); released patched version not independently confirmed - the plugin's WordPress.org repository contains a fix changeset (https://plugins.trac.wordpress.org/changeset?reponame=&old=3750024%40learnpress&new=3750024%40learnpress), so upgrade LearnPress to a build containing that changeset as soon as a tagged release is published, and verify the version number against the vendor advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/4ac1ddf0-9164-45a8-b1dc-e684b1b4b447?source=cve rather than assuming one. Until a patched release is confirmed, reduce exposure by disabling guest checkout in LearnPress settings (this closes the fully unauthenticated path but does not protect against Subscriber-level attackers, who can still submit both the 'quantity' and 'order_comments' vectors through their own checkout, so also tighten the default registration role and require manual approval of new accounts); deploy WAF or virtual-patching rules that reject script/HTML markup in the quantity parameter on the LearnPress REST courses endpoints and in the checkout order_comments POST field, accepting that legitimate buyers rarely need HTML in either field and that overly broad rules may block some order notes; restrict wp-admin access to the LearnPress order and invoice screens to a minimal set of trusted administrators and consider denying the invoice-export preview action to lower-privileged staff, with the trade-off that this reduces operational convenience for order handling; and audit existing orders for stored markup in comments or quantities before and after remediation, since payloads planted prior to the upgrade persist in the database.

Affected VersionsENISA

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

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

The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically a stored/persistent variant. LearnPress accepts buyer-supplied values in two distinct code paths: the REST layer's frontend courses controller (inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php) processes the 'quantity' parameter, and the checkout flow (inc/class-lp-checkout.php) persists the 'order_comments' field; related handling appears in the cart (inc/cart/class-lp-cart.php) and order (inc/order/class-lp-order.php) classes. Those values are stored with the order and later rendered without adequate output escaping in administrative views, notably the order details meta box (inc/admin/views/meta-boxes/order/details.php) and the invoice content/preview template (inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php), with the refund-order admin JavaScript (assets/src/js/admin/order/refund-order.js) forming another sink. Because the stored payload executes in the wp-admin origin with the administrator's session, the CVSS vector is correctly scored S:C (scope changed) - the vulnerable component (front-end checkout/REST input handling) is not the component whose security is impacted (the administrative backend). The CPE cpe:2.3:a:thimpress:learnpress_-_wordpress_lms_plugin_for_create_and_sell_online_courses confirms the affected package is the ThimPress LearnPress plugin distributed through WordPress.org.

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 HIGH
NVD 7.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 7.2 HIGH

Network-reachable checkout input, no auth under default guest checkout (PR:N), stored payload executes in admin context so scope changes (S:C); XSS yields limited C/I impact, no availability impact.

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

Primary rating from Vendor (Wordfence).

CVSS VectorNVD

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

DescriptionNVD

The LearnPress - WordPress LMS Plugin for Create and Sell Online Courses plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'quantity (REST) / order_comments (checkout)' parameter in all versions up to, and including, 4.4.10 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. With guest checkout enabled the attack is fully unauthenticated; with guest checkout disabled, any Subscriber-level user can exploit both vectors through their own checkout.

Executive ViewAI

Why It Matters

LearnPress versions up to and including 4.4.10 contain a high-severity stored cross-site scripting flaw that can run attacker-controlled JavaScript in an administrator’s browser when order details or invoice export screens are viewed. This affects WordPress LMS sites using LearnPress checkout and administrative order workflows, creating risk to administrative sessions, student and payment data, and site integrity. No vendor patch is currently identified and no public exploit identified at time of analysis, so leadership should prioritize interim containment and monitoring.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; disable guest checkout, restrict Subscriber-level accounts, limit access to wp-admin order and invoice screens, deploy WAF or virtual patching for the quantity and order_comments vectors, sanitize or escape stored order data, and consider disabling LearnPress until a fixed version is available.

Threat Intelligence Overview

Prevalence
Medium
popular WordPress LMS plugin, large but niche install base
Social Media
1
Sightings
Data Quality
3 sources
Confidence: Low

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 HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

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

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

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-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

CVE-2026-77823 MEDIUM
4.9 Sep 01

SQL injection in the LearnPress WordPress LMS plugin (versions ≤ 4.4.4) allows authenticated administrators to extract a

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