Skip to main content

LifterLMS CVE-2026-104723

| EUVDEUVD-2026-96108 HIGH
Deserialization of Untrusted Data (CWE-502)
2026-10-10 Wordfence GHSA-5m5m-xm33-gpq9
8.8
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as edit_course role (Instructor+)
  2. Delivery
    Begin lesson creation in course builder
  3. Exploit
    Submit serialized payload via temporary lesson ID metadata path
  4. Execution
    Trigger PHP object deserialization
  5. Persist
    Chain to installed POP gadget
  6. Impact
    File deletion, data theft, or code execution

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

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

Exploitation Conditions

Exploitation requires an authenticated account holding the edit_course capability - specifically Instructor, Instructor's Assistant, LMS Manager, or Administrator - not an anonymous visitor. The vulnerable deserialization is reachable ONLY during lesson creation, when a temporary lesson ID causes execution to enter the custom metadata path in class.llms.admin.builder.php; it is not triggerable through normal front-end or arbitrary admin requests. The single most important limiting factor is that the LifterLMS codebase contains no POP chain of its own: the injected object has no effect unless a SEPARATE plugin or theme installed on the same site provides a usable gadget chain. Therefore realistic impact (arbitrary file deletion, sensitive-data retrieval, or code execution) depends entirely on (1) the site granting course-editing roles to semi-trusted users and (2) the presence of a third-party POP gadget - absent either, there is no impact.

Impact

This is a high-CVSS (8.8) flaw whose real-world risk is substantially lower than the headline number because of a critical dependency stated in the description: the vulnerable code contains NO known POP (Property-Oriented Programming) chain, so the PHP Object Injection has NO impact on its own and only becomes exploitable if a separate plugin or theme with a usable POP gadget chain is installed. The CVSS vector (AV:N/AC:L/PR:L/UI:N/C:H/I:H/A:H) models the worst case assuming such a chain exists, but AC:L understates the real difficulty - exploitation is contingent on a gadget chain the attacker does not control, which is more accurately an AC:H condition. On other signals: there is no CISA KEV listing and no public POC referenced in the input, so there is no public exploit identified at time of analysis - no active-exploitation or SSVC exploitation signal is present. The attack also requires authenticated access (PR:L) at edit_course level (Instructor, Instructor's Assistant, LMS Manager, or Administrator), which are trusted roles, further narrowing the realistic attacker population. Net assessment: a conditional, authenticated, trusted-role vulnerability that is a real priority only on sites that combine LifterLMS with a second component carrying a POP chain and that grant course-editing roles to lower-trust users; otherwise it is a high-CVSS-but-low-real-risk issue. No EPSS score was provided in the input.

Exploit ScenarioDerived

An attacker holding an Instructor or similar edit_course role begins creating a lesson in the LifterLMS course builder and supplies a crafted serialized payload in the custom metadata path triggered by a temporary lesson ID, injecting a PHP object during deserialization. On its own this does nothing, but if the site also runs a plugin or theme exposing a POP gadget chain, the injected object can be leveraged to delete files, read sensitive data, or execute code. No public exploit code is identified at time of analysis.

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

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

Alert me

AnalysisAIv1 – Oct 10, 2026

PHP Object Injection in LifterLMS through 10.2.1 requires an authenticated user with the edit_course capability-such as Instructor, Instructor's Assistant, LMS Manager, or Administrator-and is reachable only during lesson creation when a temporary lesson ID enters the custom metadata path in class.llms.admin.builder.php. Although rated high at CVSS 8.8, the plugin contains no POP gadget chain, so exploitation has no impact unless a separate installed plugin or theme provides a usable POP chain; if such a chain exists, an attacker could delete arbitrary files, retrieve sensitive data, or execute code depending on the chain. No public exploit code or confirmed active exploitation was identified at time of analysis.

RemediationAI

Upstream fix available (changeset 3729229); released patched version not independently confirmed. Update LifterLMS to a version newer than 10.2.1 once the vendor publishes it, and verify the fix via the changeset at https://plugins.trac.wordpress.org/changeset/3729229/lifterlms/trunk/includes/admin/class.llms.admin.builder.php. If an update is not yet available, reduce exposure by restricting the edit_course capability: remove Instructor, Instructor's Assistant, LMS Manager, and Administrator roles from untrusted users, since they are required for exploitation. Audit installed plugins and themes for POP gadget chains and remove or update any unnecessary components; this removes the condition that makes PHP Object Injection impactful. Limiting or disabling lesson creation for non-administrator roles can block the vulnerable path but has a functional cost for course building. Consult the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/cc7893ee-414d-4796-bb34-4d83951b95bd?source=cve for updates.

Affected VersionsENISA

LifterLMS – WP LMS for eLearning, Online Courses, & Quizzes 0 ≤10.2.1

Affected Packages

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

CWE-502 (Deserialization of Untrusted Data) in the WordPress LifterLMS plugin. The vulnerable code is in includes/admin/class.llms.admin.builder.php (referenced lines 1218, 458, 993, and 1576 in tag 10.2.1), where untrusted input is deserialized during lesson creation via the custom metadata path triggered by a temporary lesson ID. PHP Object Injection lets an attacker supply a serialized object; by itself the object is inert because LifterLMS has no known POP chain. The CPE identifies lifterlms:lifterlms_-_wp_lms_for_elearning,_online_courses,_&_quizzes, covering versions up to 10.2.1. The vulnerability requires an authenticated account with edit_course capability (PR:L in the CVSS vector), and because no POP chain exists in the plugin, impact depends entirely on a third-party gadget chain from another plugin or theme.

Know when Lifterlms 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 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 7.5 HIGH

PR:L for the required edit_course role and AC:H because impact depends on a POP gadget chain outside the attacker's control; C/I/A:H reflect the worst-case outcome when such a chain is present.

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

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

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

DescriptionCVE.org

The LifterLMS - WP LMS for eLearning, Online Courses, & Quizzes plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 10.2.1 via deserialization of untrusted input . This makes it possible for authenticated attackers, with custom-level access and above, to inject a PHP Object. No known POP chain is present in the vulnerable software, which means this vulnerability has no impact unless another plugin or theme containing a POP chain is installed on the site. If a POP chain is present via an additional plugin or theme installed on the target system, it may allow the attacker to perform actions like delete arbitrary files, retrieve sensitive data, or execute code depending on the POP chain present. This vulnerability is only exploitable during lesson creation when a temporary lesson ID triggers the custom metadata path, and requires the attacker to hold a role with the edit_course capability, such as Instructor, Instructor's Assistant, LMS Manager, or Administrator.

Executive ViewAI

Why It Matters

LifterLMS versions through 10.2.1 contain a PHP object injection vulnerability that could allow users with course-editing privileges to manipulate lesson metadata, potentially leading to file deletion, data exposure, or code execution only if another installed plugin or theme provides a compatible gadget chain. Because no vendor patch is available and the LMS often stores sensitive learner and course data, security leadership should prioritize restricting high-risk capabilities and auditing the plugin ecosystem while monitoring for exploitation. No public exploit identified at time of analysis.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict edit_course capability to trusted administrators, audit installed plugins/themes for POP gadget chains, deploy WAF/virtual patching rules for object injection, monitor lesson creation and metadata changes, and consider disabling LifterLMS if risk is unacceptable.

Threat Intelligence Overview

EPSS Score
0.4%
Top 63% exploitable
Prevalence
Medium
popular WordPress LMS plugin, common but not on most sites
Social Media
1
Sightings
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.4%
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
Total

Priority Score

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

Attack Technique

Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2019-15896 CRITICAL POC
9.8 Sep 10

An issue was discovered in the LifterLMS plugin through 3.34.5 for WordPress. Rated critical severity (CVSS 9.8), this v

CVE-2021-24562 HIGH POC
7.5 Aug 23

The LMS by LifterLMS - Online Course, Membership & Learning Management System Plugin for WordPress plugin before 4.21.2

CVE-2024-13619 MEDIUM POC
6.1 May 15

The LifterLMS WordPress plugin before 8.0.1 does not sanitise and escape a parameter before outputting it back in the pa

CVE-2026-14207 MEDIUM POC
6.1 Jul 30

Stored cross-site scripting in LifterLMS WordPress plugin versions before 10.0.10 allows authenticated course editors to

CVE-2022-1250 MEDIUM POC
6.1 May 02

The LifterLMS PayPal WordPress plugin before 1.4.0 does not sanitise and escape some parameters from the payment confirm

CVE-2020-6008 CRITICAL
9.8 Mar 31

LifterLMS Wordpress plugin version below 3.37.15 is vulnerable to arbitrary file write leading to remote code execution.

CVE-2021-24308 MEDIUM POC
5.4 May 24

The 'State' field of the Edit profile page of the LMS by LifterLMS - Online Course, Membership & Learning Management Sys

CVE-2025-52717 CRITICAL
9.3 Jun 27

SQL injection in the LifterLMS WordPress plugin (versions up to and including 8.0.6) lets remote attackers inject crafte

CVE-2024-4743 HIGH
8.8 Jun 05

The LifterLMS - WordPress LMS Plugin for eLearning plugin for WordPress is vulnerable to SQL Injection via the orderBy a

CVE-2026-14231 MEDIUM POC
4.3 Jul 30

Authenticated information disclosure in the LifterLMS WordPress plugin before 10.0.10 exposes internal post type titles

CVE-2026-110284 HIGH
7.5 Oct 14

Local file inclusion in the LifterLMS WordPress plugin (up to and including 10.3.1) lets an authenticated attacker with

CVE-2024-7349 HIGH
7.2 Sep 06

The LifterLMS - WP LMS for eLearning, Online Courses, & Quizzes plugin for WordPress is vulnerable to blind SQL Injectio

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