Skip to main content

LearnPress CVE-2026-104670

| EUVDEUVD-2026-93078 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-06 Patchstack GHSA-wwcv-7xrp-fvfw
7.1
CVSS 3.1 · Vendor: Patchstack
View

Attack ChainAIDerived

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

  1. Access
    Craft malicious XSS payload URL
  2. Delivery
    Lure victim via phishing link
  3. Exploit
    Victim's browser renders unsanitized input
  4. Execution
    Attacker script executes in site origin
  5. Impact
    Hijack session or act as victim

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

Exploitation requires that an attacker trick a user into interacting with attacker-controlled input (UI:R in the vector) - typically clicking a crafted URL or viewing injected content processed by LearnPress ≤4.4.9 - so this is not a zero-click flaw. No authentication is needed to deliver the payload (PR:N), making any publicly reachable site running a vulnerable LearnPress version a candidate target in its default state. The input does not name the exact vulnerable parameter, endpoint, or feature, so the specific injection point cannot be confirmed from the available data. Limiting factors: the required victim interaction, dependence on the victim's browser executing the payload, and applicability only to LearnPress versions at or below 4.4.9.

Impact

This is a reflected/unauthenticated Cross-Site Scripting flaw (CWE-79) in the LearnPress WordPress plugin, rated CVSS 7.1 with vector AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L. The signals are internally consistent for a typical web XSS: network-reachable (AV:N), low complexity (AC:L), no authentication (PR:N), but requiring user interaction (UI:R) and crossing a scope boundary (S:C) into the victim's browser session. No EPSS score, CISA KEV listing, POC reference, or SSVC decision data was provided in the input. Exploitation status is therefore 'no public exploit identified at time of analysis' - the single reference is the Patchstack advisory, which is a vulnerability disclosure, not evidence of active exploitation. The UI:R requirement materially lowers real-world risk versus a zero-click flaw: an attacker must lure a victim (potentially an authenticated admin) into clicking a crafted link or viewing attacker-controlled content. Net assessment: a genuine but moderate-priority issue - patch in the normal cycle, prioritizing internet-facing LearnPress sites - rather than an emergency, absent any exploitation or POC signal. Note the A:L (availability) impact in the supplied vector is atypical for pure XSS and should be verified with the vendor.

Exploit ScenarioDerived

An attacker crafts a malicious URL or payload targeting a vulnerable LearnPress parameter and delivers it to a victim (e.g., a logged-in instructor or administrator) via phishing or a planted link. When the victim's browser renders the unsanitized input, attacker-controlled JavaScript executes in the site's origin, enabling session/cookie theft or actions on the victim's behalf. No public exploit code was identified at time of analysis, and successful exploitation depends on the required user interaction (UI:R).

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

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

Alert me

AnalysisAIv1 – Oct 06, 2026

Unauthenticated cross-site scripting in the LearnPress WordPress plugin through version 4.4.9 allows remote attackers to deliver script payloads that execute in a victim's browser once the victim is induced to interact with attacker-controlled input, typically by clicking a crafted link or rendering injected content produced by the plugin. No authentication is required to reach the vulnerable code (PR:N), but exploitation is not zero-click because it depends on victim interaction (UI:R); any publicly reachable WordPress site running a vulnerable LearnPress release is a candidate target in its default configuration. Patchstack reported the issue as a WordPress plugin XSS, no CISA KEV listing or EPSS score was supplied with the intelligence, and there is no public exploit identified at time of analysis.

RemediationAI

No vendor-released patch version or fixed release number is specified in the supplied intelligence, so patch status is unconfirmed from the available data rather than confirmed absent; administrators should check the Patchstack advisory at https://patchstack.com/database/wordpress/plugin/learnpress/vulnerability/wordpress-learnpress-plugin-4-4-9-cross-site-scripting-xss-vulnerability?_s_id=cve and the ThimPress vendor channel for an updated LearnPress release and upgrade as soon as a version above 4.4.9 is published, since upgrading is the only complete fix for an output-escaping defect. Until then, practical compensating controls include deploying a virtual patch via a WAF or a WordPress security plugin rule set that blocks script-bearing payloads on LearnPress routes and query strings (trade-off: generic XSS rules can produce false positives against legitimate LMS content and forms, so start in monitor mode), and applying a strict Content-Security-Policy that disallows inline and third-party script (trade-off: aggressive CSP frequently breaks LMS functionality such as quizzes, media players, and embedded course content, and requires testing). If LearnPress course, lesson, or quiz functionality is not in active use, deactivating and removing the plugin eliminates the exposure entirely (trade-off: loss of LMS features and possible loss of stored course data). Because exploitation requires victim interaction, reduce delivery paths by avoiding untrusted or shortened links to the site, restricting public exposure of LMS pages behind authentication where operationally feasible, and - as defense in depth - disabling unfiltered HTML for low-privilege roles so any successfully injected markup has less impact. Re-verify the actual extent of exposure against the CPE range cpe:2.3:a:thimpress:learnpress:*:*:*:*:*:*:*:* and confirm the installed plugin version in wp-content/plugins/learnpress before assuming any deployment is unaffected.

Affected VersionsENISA

LearnPress n/a ≤4.4.9

Affected Packages

euvd learnpress 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 widely deployed learning-management-system plugin for WordPress published by ThimPress (CPE cpe:2.3:a:thimpress:learnpress:*:*:*:*:*:*:*:*), and CVE-2026-104670 is a CWE-79 improper-neutralization-of-input-during-web-page-generation flaw in that plugin for versions at or below 4.4.9. The root cause class is classic output-encoding failure in a PHP/WordPress context: untrusted input is reflected or rendered into an HTML page without adequate escaping or sanitization, so browser-interpreted markup or script is returned to the user. The assessed vector, CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N (base 7.1), indicates the attack is network-delivered, requires no credentials, requires user interaction, and crosses a security scope boundary (S:C) - meaning the injected script runs in the context of the vulnerable site and its users rather than being confined to the vulnerable component itself - with limited confidentiality and integrity impact and no availability impact. The available intelligence does not name the specific vulnerable parameter, endpoint, or LearnPress feature (for example course, lesson, quiz, or AJAX handler), so the precise injection point cannot be confirmed from the provided data and the flaw may be delivered as reflected content in a crafted URL or as dynamically generated output.

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

Vendor (Patchstack) PRIMARY 7.1 HIGH
AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L
vuln.today AI 6.1 MEDIUM

Network-reachable unauthenticated XSS (AV:N/PR:N) needing victim interaction (UI:R); script runs in the browser crossing scope (S:C) with low C/I and no genuine availability impact (A:N).

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

Primary rating from Vendor (Patchstack).

CVSS VectorVendor: Patchstack

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

DescriptionCVE.org

Unauthenticated Cross Site Scripting (XSS) in LearnPress <= 4.4.9 versions.

Executive ViewAI

Why It Matters

Every publicly reachable WordPress site running the LearnPress learning-management plugin at version 4.4.9 or earlier is exposed to an unauthenticated cross-site scripting flaw for which no vendor fix currently exists, meaning e-learning portals, training platforms, and any site using LearnPress for course delivery are candidate targets in their default configuration. An attacker who persuades a visitor or administrator to click a crafted link can have malicious script execute in that person's browser, creating realistic paths to session theft, credential compromise, unauthorized administrative actions, and reputational damage to the organization's learning platform. Because the vendor has not shipped a remediating release, leadership should treat this as an exposure-management problem requiring inventory, virtual patching, and heightened monitoring rather than a routine patch cycle.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: deploy WAF/virtual patching rules targeting XSS payloads in LearnPress requests, remove or deactivate the LearnPress plugin on internet-facing sites where it is not required, restrict and monitor WordPress administrative access with MFA and IP allow-listing, apply Content-Security-Policy and output-encoding hardening, and monitor web and authentication logs for anomalous script injection or session activity.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
Medium
popular WordPress LMS plugin with large but not universal install base
Data Quality
5 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 HIGH
CISA KEV No
Public POC No
EPSS 0.2%
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Medium
Technical Impact
Partial

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-2024-8522 CRITICAL POC
10.0 Sep 12

SQL injection in LearnPress LMS plugin for WordPress (versions ≤ 4.2.7) allows unauthenticated remote attackers to injec

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

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