Skip to main content

LearnPress CVE-2026-7648

| EUVDEUVD-2026-30218 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-05-14 Wordfence GHSA-gc4c-8j88-m8pm
4.3
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Register/obtain subscriber account
  2. Delivery
    Enumerate paid course IDs via site browsing
  3. Exploit
    Craft REST API cart request with quantity=0
  4. Execution
    array_merge overwrites default quantity in add_to_cart()
  5. Persist
    Order total calculates as $0
  6. Impact
    Payment gateway bypassed, free enrollment granted

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Exploitation requires a valid WordPress account with at minimum subscriber-level access (PR:L per CVSS vector) - anonymous unauthenticated users cannot exploit this vulnerability. The attack targets the LearnPress REST API cart endpoint (inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:L474), which must be active and reachable; standard WordPress REST API availability is the only deployment prerequisite. The specific triggering condition is supplying a user-controlled 'quantity' key with a value of zero in the REST request body, which exploits array_merge() key-precedence behavior to overwrite hardcoded defaults in add_to_cart(). Limiting factors: any WordPress site that disables user registration eliminates the subscriber account prerequisite; WAF rules that block non-standard quantity values (zero or negative) on REST cart endpoints also mitigate the attack; and SSVC Automatable: no indicates that per-course enumeration is required, reducing bulk or fully automated exploitation.

Impact

The CVSS base score of 4.3 (Medium) reflects network reachability with low complexity and low privileges, but no confidentiality or availability impact - consistent with a financial integrity bypass rather than a system compromise. The CVSS vector (AV:N/AC:L/PR:L/UI:N) confirms the attack is network-exploitable by any authenticated user with subscriber-level access, requiring no user interaction and no elevated permissions beyond a basic WordPress account. Against the CVSS signal, EPSS at 0.01% (2nd percentile) and SSVC Exploitation: none indicate no observed exploitation activity at time of analysis, and SSVC Automatable: no suggests the attack requires some per-target enumeration of paid course IDs - reducing mass-exploitation risk. SSVC Technical Impact: partial aligns with the limited I:L scope. The net picture is a high-priority business risk for WordPress LMS operators monetizing courses, but a low priority in terms of infrastructure or data breach risk. The low EPSS and absent KEV listing mean immediate emergency response is not warranted for most organizations, though the ease of exploitation (AC:L, PR:L) means any authenticated user on the affected site can trivially abuse this.

Exploit ScenarioDerived

An attacker registers a free subscriber account on a LearnPress-powered e-commerce site, identifies a paid course ID through normal browsing, and submits a crafted REST API POST request to the add-to-cart endpoint with the quantity parameter set to zero. The array_merge() call in add_to_cart() overwrites the default quantity, the order total resolves to $0, and the payment gateway processes it as a free transaction - granting the attacker full enrollment in the paid course without any financial charge. No public exploit code is known at time of analysis, but the attack is straightforward to reconstruct from the patch diff alone.

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

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

Alert me

AnalysisAIv1 – Jun 08, 2026

Payment bypass in LearnPress WordPress LMS Plugin (all versions ≤ 4.3.5) allows authenticated subscribers to enroll in any paid course at zero cost by manipulating a REST API parameter. The flaw stems from improper input handling in the add_to_cart() REST API endpoint where PHP's array_merge() permits attacker-supplied values to silently overwrite hardcoded order defaults - specifically the quantity field - causing the order total to resolve to $0 and bypassing all configured payment gateway enforcement. No public exploit code has been identified at time of analysis, and CISA KEV does not list this vulnerability; SSVC and EPSS both signal low current exploitation pressure, though the low-friction exploit path warrants prompt remediation on revenue-generating LMS deployments.

RemediationAI

An upstream fix has been committed to the LearnPress plugin repository (changeset 3521636, visible at https://plugins.trac.wordpress.org/changeset?old=3521636%40learnpress&new=3521636%40learnpress); however, an exact released patched version number is not independently confirmed from the available data - operators should verify the current release in the WordPress plugin directory and update to any version released after 4.3.5. As a compensating control pending upgrade, site administrators can temporarily restrict REST API access by blocking the /wp-json/learnpress/v1/ endpoint namespace at the web server or WAF layer for non-authenticated sessions - note this may break legitimate enrollment flows and should be tested in staging first. Alternatively, disabling the LearnPress REST API cart functionality via plugin settings (if exposed) removes the attack surface entirely at the cost of REST-based enrollment workflows. Site owners should also audit recent orders for $0 transactions against paid courses to detect any prior abuse.

Affected VersionsENISA

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

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 (CPE: cpe:2.3:a:thimpress:learnpress_-_wordpress_lms_plugin_for_create_and_sell_online_courses:*:*:*:*:*:*:*:*) is a WordPress LMS plugin that exposes a REST API endpoint (class-lp-rest-courses-controller.php:L474) for course enrollment via cart operations. The root cause is CWE-639 (Authorization Through User-Controlled Key): user-supplied REST request parameters are passed unsanitized as an array directly into add_to_cart() (class-lp-cart.php:L105, L180), where PHP's native array_merge() function is used to combine defaults with user input. Because array_merge() gives precedence to later-provided keys, an attacker-controlled 'quantity' value of zero overwrites the hardcoded default quantity, causing WooCommerce-style order total calculation to produce $0 - a value that satisfies all payment gateway pre-checks as a legitimate free transaction. The flaw is an integrity violation (CVSS C:N/I:L/A:N) with no confidentiality or availability impact, but the business impact on operators selling paid course access can be significant.

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

NVD PRIMARY 4.3 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

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

DescriptionCVE.org

The LearnPress - WordPress LMS Plugin for Create and Sell Online Courses plugin for WordPress is vulnerable to payment bypass through user-controlled key in all versions up to, and including, 4.3.5. This is due to improper handling of user-supplied request parameters in the REST API endpoint, which passes the unsanitized parameter array to the add_to_cart() function where array_merge() allows attacker-controlled values to overwrite hardcoded defaults. This makes it possible for authenticated attackers, with subscriber-level access and above, to enroll in any paid course entirely free of charge by supplying a quantity value of zero, which causes the order total to calculate as $0 and bypasses all payment gateway requirements.

Threat Intelligence Overview

EPSS Score
0.0%
Top 98% exploitable
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.0%
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

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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