CVE-2026-104723: LifterLMS <= 10.2.1 - Authenticated (Custom+) PHP Object Injection via 'custom' Lesson Data
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 editcourse capability, such as Instructor, Instructor's Assistant, LMS Manager, or Administrator.
Affected Software
Event History
Frequently Asked Questions
Which authenticated users should be considered capable of exploiting this issue?
The attacker must have the edit_course capability. Examples include Instructor, Instructor's Assistant, LMS Manager, and Administrator roles.
Under what circumstances can this lead to code execution or other severe impact?
The LifterLMS plugin has no known POP chain of its own. Severe outcomes such as arbitrary file deletion, sensitive-data retrieval, or code execution require another installed plugin or theme to provide a usable POP chain.
What application workflow is required for exploitation?
Exploitation is limited to lesson creation. A temporary lesson ID must trigger the custom metadata path where the untrusted data is deserialized.