| CVE ID | CVE-2026-104723 |
| Severity | HIGH — CVSS CVSS V3.1 8.8 |
| Vector | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| CWE | CWE-502 CWE-502 Deserialization of Untrusted Data |
| Produk | lifterlms / LifterLMS – WP LMS for eLearning, Online Courses, & Quizzes — 0 (affected) |
| Dipublikasikan | 2026-10-10 |
Ringkasan Cepat
- CVE-2026-104723 adalah kerentanan PHP Object Injection (CWE-502) pada plugin WordPress LifterLMS yang memengaruhi semua versi hingga dan termasuk 10.2.1, dengan skor CVSS v3.1 8.8 (HIGH).
- Eksploitasi memerlukan penyerang terautentikasi dengan akses tingkat custom ke atas yang memegang capability edit_course, dan hanya terjadi saat pembuatan lesson ketika temporary lesson ID memicu jalur custom metadata.
- LifterLMS sendiri tidak memiliki POP chain, sehingga dampak nyata baru muncul jika ada plugin atau tema lain di situs yang menyediakan POP chain.
- Publikasi resmi CVE ini tercatat pada 10 Oktober 2026, dengan patch yang tersedia melalui changeset LifterLMS di repositori WordPress.org.
Ringkasan Kerentanan
LifterLMS – WP LMS for eLearning, Online Courses, & Quizzes adalah plugin WordPress yang digunakan untuk membangun platform pembelajaran daring, kursus, dan kuis. Menurut deskripsi resmi CNA, plugin ini rentan terhadap PHP Object Injection pada semua versi hingga dan termasuk 10.2.1, yang berasal dari deserialisasi input yang tidak tepercaya (untrusted input).
Kerentanan ini terdaftar sebagai CVE-2026-104723 dengan klasifikasi CWE-502 (Deserialization of Untrusted Data) dan diberi peringkat keparahan HIGH 8.8 menggunakan vektor CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H. Vektor tersebut menggambarkan serangan yang dapat dilakukan dari jaringan, kompleksitas rendah, memerlukan hak akses (privileged), tanpa interaksi pengguna, serta berpotensi memengaruhi kerahasiaan, integritas, dan ketersediaan secara tinggi.
Dampak Teknis
PHP Object Injection terjadi ketika data yang dikirim penyerang di-deserialisasi tanpa validasi yang memadai. Dalam kasus ini, penyerang yang sudah terautentikasi dapat menyuntikkan objek PHP saat pembuatan lesson. Celah ini hanya dapat dieksploitasi selama proses pembuatan lesson, ketika temporary lesson ID memicu jalur custom metadata.
Poin penting yang perlu dipahami tim keamanan: deskripsi resmi menyatakan bahwa tidak ada POP chain yang diketahui di dalam perangkat lunak rentan itu sendiri. Artinya, kerentanan ini tidak berdampak apa pun kecuali di situs target terpasang plugin atau tema lain yang mengandung POP chain. Jika POP chain tersedia, dampaknya dapat berupa tindakan seperti menghapus file sembarang, mengambil data sensitif, atau mengeksekusi kode — bergantung pada POP chain yang ada. Inilah mengapa konteks lingkungan (plugin dan tema lain yang terpasang) sangat menentukan tingkat risiko sebenarnya, meskipun skor CVSS-nya sudah tergolong tinggi.
Produk Terdampak dan Syarat Eksploitasi
Produk yang tercatat terdampak adalah plugin LifterLMS – WP LMS for eLearning, Online Courses, & Quizzes dari vendor lifterlms, pada rentang versi 0 (affected) — yang merujuk pada semua versi hingga dan termasuk 10.2.1.
Eksploitasi tidak dapat dilakukan oleh sembarang pengunjung. Penyerang harus:
- Memiliki akun yang terautentikasi dengan akses tingkat custom dan di atasnya;
- Memegang role dengan capability
edit_course, seperti Instructor, Instructor’s Assistant, LMS Manager, atau Administrator; - Melakukan aksi pada alur pembuatan lesson saat temporary lesson ID memicu jalur custom metadata.
Referensi teknis dari Wordfence Threat Intel serta tautan ke berkas includes/admin/class.llms.admin.builder.php pada tag 10.2.1 dan changeset perbaikan tersedia untuk ditelusuri oleh tim pengembang yang ingin memahami konteks kode secara langsung.
Konteks dan Sudut Pandang Pertahanan
Kerentanan tipe object injection mengingatkan bahwa keamanan WordPress bukan hanya soal satu plugin, melainkan soal kombinasi komponen di dalam satu situs. Sebuah celah deserialisasi bisa berubah dari “tidak berdampak” menjadi kritis ketika bertemu gadget yang tepat dari plugin atau tema lain. Karena itu, prinsip least privilege dan pengelolaan inventaris plugin menjadi pertahanan berlapis yang penting.
Dari sisi tata kelola, batasi jumlah akun dengan capability edit_course, tinjau ulang peran seperti Instructor’s Assistant dan LMS Manager, serta kurangi plugin/tema yang tidak lagi digunakan. Pantau juga aktivitas pembuatan lesson dan perubahan metadata, karena jalur tersebut merupakan kondisi prasyarat eksploitasi pada kasus ini.
Mitigasi dan Perbaikan
- Perbarui plugin LifterLMS ke versi terbaru yang dirilis pengembang, karena perbaikan untuk berkas includes/admin/class.llms.admin.builder.php telah tersedia melalui changeset di repositori plugin; verifikasi nomor versi setelah pembaruan.
- Jika pembaruan belum dapat segera diterapkan, pertimbangkan menonaktifkan plugin sementara atau membatasi akses ke alur pembuatan lesson sampai patch terpasang.
- Audit dan rampingkan peran pengguna: tinjau semua akun dengan capability edit_course (Instructor, Instructor's Assistant, LMS Manager, Administrator), hapus akun tidak terpakai, dan terapkan prinsip least privilege.
- Inventarisasi plugin dan tema yang terpasang untuk mencari komponen yang mengandung POP chain (misalnya pola unserialize serta metode __wakeup, __destruct, atau __toString berbahaya), dan singkirkan komponen yang tidak diperlukan.
- Tingkatkan pemantauan: catat aktivitas pembuatan lesson dan perubahan custom metadata, serta pasang aturan WAF untuk menandai payload terserialisasi yang mencurigakan pada permintaan pembuat lesson.
Referensi Resmi
- CVE-2026-104723 — CVE Program (cve.org)
- https://www.wordfence.com/threat-intel/vulnerabilities/id/cc7893ee-414d-4796-bb34-4d83951b95bd?source=cve
- https://plugins.trac.wordpress.org/browser/lifterlms/tags/10.2.1/includes/admin/class.llms.admin.builder.php#L1218
- https://plugins.trac.wordpress.org/browser/lifterlms/tags/10.2.1/includes/admin/class.llms.admin.builder.php#L458
- https://plugins.trac.wordpress.org/browser/lifterlms/tags/10.2.1/includes/admin/class.llms.admin.builder.php#L993
- https://plugins.trac.wordpress.org/browser/lifterlms/tags/10.2.1/includes/admin/class.llms.admin.builder.php#L1576
- https://plugins.trac.wordpress.org/changeset/3729229/lifterlms/trunk/includes/admin/class.llms.admin.builder.php
Artikel ini disusun dari data publik CVE Program (cve.org). Selalu verifikasi patch resmi dari vendor sebelum menerapkan perubahan.
Pertanyaan yang Sering Diajukan (FAQ)
Apa itu CVE-2026-104723?
Versi LifterLMS mana yang terdampak?
Siapa yang bisa mengeksploitasi kerentanan ini?
Apakah kerentanan ini langsung berdampak tanpa plugin lain?
Apa dampak yang mungkin timbul jika POP chain tersedia?
Kapan kerentanan ini dipublikasikan?
English Version — CVE-2026-104723: PHP Object Injection Vulnerability in LifterLMS
Quick Summary
- CVE-2026-104723 is a PHP Object Injection vulnerability (CWE-502) in the WordPress plugin LifterLMS affecting all versions up to and including 10.2.1, with a CVSS v3.1 score of 8.8 (HIGH).
- Exploitation requires an authenticated attacker with custom-level access or higher holding the edit_course capability, and it only occurs during lesson creation when a temporary lesson ID triggers the custom metadata path.
- LifterLMS itself does not have a POP chain, so real impact arises only if another plugin or theme on the site provides a POP chain.
- Official publication of this CVE was recorded on October 10, 2026, with a patch available via a LifterLMS changeset in the WordPress.org repository.
Vulnerability Summary
LifterLMS – WP LMS for eLearning, Online Courses, & Quizzes is a WordPress plugin used to build online learning platforms, courses, and quizzes. According to the official CNA description, this plugin is vulnerable to PHP Object Injection in all versions up to and including 10.2.1, stemming from deserialization of untrusted input.
This vulnerability is listed as CVE-2026-104723 with the classification CWE-502 (Deserialization of Untrusted Data) and assigned a severity rating of HIGH 8.8 using the vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H. This vector describes an attack that can be carried out from the network, with low complexity, requiring privileges, without user interaction, and potentially affecting confidentiality, integrity, and availability to a high degree.
Technical Impact
PHP Object Injection occurs when data sent by an attacker is deserialized without adequate validation. In this case, an authenticated attacker can inject a PHP object during lesson creation. This flaw can only be exploited during the lesson creation process, when a temporary lesson ID triggers the custom metadata path.
An important point for security teams to understand: the official description states that no POP chain is known within the vulnerable software itself. This means the vulnerability has no impact unless another plugin or theme containing a POP chain is installed on the target site. If a POP chain is available, the impact can include actions such as deleting arbitrary files, retrieving sensitive data, or executing code — depending on the POP chain present. This is why the environmental context (other installed plugins and themes) strongly determines the actual risk level, even though the CVSS score is already high.
Affected Products and Exploitation Requirements
The product recorded as affected is the LifterLMS – WP LMS for eLearning, Online Courses, & Quizzes plugin from the vendor lifterlms, in the version range 0 (affected) — which refers to all versions up to and including 10.2.1.
Exploitation cannot be performed by any random visitor. The attacker must:
- Have an authenticated account with custom-level access and above;
- Hold a role with the
edit_coursecapability, such as Instructor, Instructor’s Assistant, LMS Manager, or Administrator; - Perform an action in the lesson creation flow when a temporary lesson ID triggers the custom metadata path.
Technical references from Wordfence Threat Intel as well as links to the file includes/admin/class.llms.admin.builder.php at tag 10.2.1 and the fix changeset are available for development teams that want to understand the code context directly.
Context and Defensive Perspective
Object injection vulnerabilities remind us that WordPress security is not just about one plugin, but about the combination of components within a single site. A deserialization flaw can change from “no impact” to critical when it encounters the right gadget from another plugin or theme. Therefore, the principle of least privilege and plugin inventory management are important layers of defense.
From a governance perspective, limit the number of accounts with the edit_course capability, review roles such as Instructor’s Assistant and LMS Manager, and reduce plugins/themes that are no longer used. Also monitor lesson creation activity and metadata changes, because that path is the prerequisite condition for exploitation in this case.
Mitigation
- Update the LifterLMS plugin to the latest version released by the developer, because the fix for the includes/admin/class.llms.admin.builder.php file is available via a changeset in the plugin repository; verify the version number after updating.
- If the update cannot be applied immediately, consider temporarily deactivating the plugin or restricting access to the lesson creation flow until the patch is installed.
- Audit and streamline user roles: review all accounts with the edit_course capability (Instructor, Instructor's Assistant, LMS Manager, Administrator), remove unused accounts, and apply the principle of least privilege.
- Inventory installed plugins and themes to look for components containing a POP chain (for example, unserialize patterns and dangerous __wakeup, __destruct, or __toString methods), and remove unnecessary components.
- Enhance monitoring: log lesson creation activity and custom metadata changes, and deploy WAF rules to flag suspicious serialized payloads in lesson builder requests.
Komentar
Posting Komentar