CVE-2026-110284 (GCVE-0-2026-110284)
Vulnerability from cvelistv5
Published
2026-10-14 07:43
Modified
2026-10-15 16:43
Severity ?
VLAI Severity ?
EPSS score ?
CWE
- CWE-98 - Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion')
Summary
The LifterLMS – WP LMS for eLearning, Online Courses, & Quizzes plugin for WordPress is vulnerable to Local File Inclusion in versions up to, and including, 10.3.1 via attacker-controlled attributes of the [lifterlms_checkout] shortcode. This is due to the llms_get_template() helper performing extract() on the shortcode attribute array before resolving the template path, which allows the attacker-supplied 'template_name' and 'default_path' shortcode attributes to overwrite the function's local parameters and ultimately control the path passed to a PHP include. This makes it possible for authenticated attackers, with Instructor-level access and above, to include and execute arbitrary files on the server, that can be used to bypass access controls, obtain sensitive data, or achieve code execution in cases where files with safe extensions containing attacker-controlled content can be uploaded and included.
References
Impacted products
| Vendor | Product | Version | ||
|---|---|---|---|---|
| lifterlms | LifterLMS – WP LMS for eLearning, Online Courses, & Quizzes |
Version: 0 ≤ 10.3.1 |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-110284",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-15T10:52:06.314307Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-15T16:43:49.092Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "LifterLMS \u2013 WP LMS for eLearning, Online Courses, \u0026 Quizzes",
"vendor": "lifterlms",
"versions": [
{
"lessThanOrEqual": "10.3.1",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Adrien Brunner"
}
],
"descriptions": [
{
"lang": "en",
"value": "The LifterLMS \u2013 WP LMS for eLearning, Online Courses, \u0026 Quizzes plugin for WordPress is vulnerable to Local File Inclusion in versions up to, and including, 10.3.1 via attacker-controlled attributes of the [lifterlms_checkout] shortcode. This is due to the llms_get_template() helper performing extract() on the shortcode attribute array before resolving the template path, which allows the attacker-supplied \u0027template_name\u0027 and \u0027default_path\u0027 shortcode attributes to overwrite the function\u0027s local parameters and ultimately control the path passed to a PHP include. This makes it possible for authenticated attackers, with Instructor-level access and above, to include and execute arbitrary files on the server, that can be used to bypass access controls, obtain sensitive data, or achieve code execution in cases where files with safe extensions containing attacker-controlled content can be uploaded and included."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.5,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-98",
"description": "CWE-98 Improper Control of Filename for Include/Require Statement in PHP Program (\u0027PHP Remote File Inclusion\u0027)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-14T07:43:33.249Z",
"orgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599",
"shortName": "Wordfence"
},
"references": [
{
"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/631c4d14-8b33-47ed-a2ff-68b2b2906b84?source=cve"
},
{
"url": "https://plugins.trac.wordpress.org/browser/lifterlms/tags/10.3.1/includes/functions/llms.functions.template.php#L120"
},
{
"url": "https://plugins.trac.wordpress.org/browser/lifterlms/tags/10.3.1/includes/functions/llms.functions.template.php#L102"
},
{
"url": "https://plugins.trac.wordpress.org/browser/lifterlms/tags/10.3.1/includes/shortcodes/class.llms.shortcode.checkout.php#L138"
},
{
"url": "https://plugins.trac.wordpress.org/browser/lifterlms/tags/10.3.1/includes/shortcodes/class.llms.shortcode.checkout.php#L200"
},
{
"url": "https://plugins.trac.wordpress.org/browser/lifterlms/tags/10.3.1/includes/shortcodes/class.llms.shortcodes.php#L412"
},
{
"url": "https://plugins.trac.wordpress.org/changeset/3736899/lifterlms/trunk/includes/functions/llms.functions.template.php"
}
],
"timeline": [
{
"lang": "en",
"time": "2026-10-08T21:32:46.000Z",
"value": "Vendor Notified"
},
{
"lang": "en",
"time": "2026-10-13T19:22:09.000Z",
"value": "Disclosed"
}
],
"title": "LifterLMS \u003c= 10.3.1 - Authenticated (Contributor+) Local File Inclusion via \u0027lifterlms_checkout\u0027 Shortcode Attributes"
}
},
"cveMetadata": {
"assignerOrgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599",
"assignerShortName": "Wordfence",
"cveId": "CVE-2026-110284",
"datePublished": "2026-10-14T07:43:33.249Z",
"dateReserved": "2026-10-13T19:21:48.530Z",
"dateUpdated": "2026-10-15T16:43:49.092Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-110284\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-10-15T10:52:06.314307Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-10-15T16:39:14.851Z\"}}], \"cna\": {\"title\": \"LifterLMS \u003c= 10.3.1 - Authenticated (Contributor+) Local File Inclusion via \u0027lifterlms_checkout\u0027 Shortcode Attributes\", \"credits\": [{\"lang\": \"en\", \"type\": \"finder\", \"value\": \"Adrien Brunner\"}], \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.1\", \"baseScore\": 7.5, \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H\"}}], \"affected\": [{\"vendor\": \"lifterlms\", \"product\": \"LifterLMS \\u2013 WP LMS for eLearning, Online Courses, \u0026 Quizzes\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"10.3.1\"}], \"defaultStatus\": \"unaffected\"}], \"timeline\": [{\"lang\": \"en\", \"time\": \"2026-10-08T21:32:46.000Z\", \"value\": \"Vendor Notified\"}, {\"lang\": \"en\", \"time\": \"2026-10-13T19:22:09.000Z\", \"value\": \"Disclosed\"}], \"references\": [{\"url\": \"https://www.wordfence.com/threat-intel/vulnerabilities/id/631c4d14-8b33-47ed-a2ff-68b2b2906b84?source=cve\"}, {\"url\": \"https://plugins.trac.wordpress.org/browser/lifterlms/tags/10.3.1/includes/functions/llms.functions.template.php#L120\"}, {\"url\": \"https://plugins.trac.wordpress.org/browser/lifterlms/tags/10.3.1/includes/functions/llms.functions.template.php#L102\"}, {\"url\": \"https://plugins.trac.wordpress.org/browser/lifterlms/tags/10.3.1/includes/shortcodes/class.llms.shortcode.checkout.php#L138\"}, {\"url\": \"https://plugins.trac.wordpress.org/browser/lifterlms/tags/10.3.1/includes/shortcodes/class.llms.shortcode.checkout.php#L200\"}, {\"url\": \"https://plugins.trac.wordpress.org/browser/lifterlms/tags/10.3.1/includes/shortcodes/class.llms.shortcodes.php#L412\"}, {\"url\": \"https://plugins.trac.wordpress.org/changeset/3736899/lifterlms/trunk/includes/functions/llms.functions.template.php\"}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"The LifterLMS \\u2013 WP LMS for eLearning, Online Courses, \u0026 Quizzes plugin for WordPress is vulnerable to Local File Inclusion in versions up to, and including, 10.3.1 via attacker-controlled attributes of the [lifterlms_checkout] shortcode. This is due to the llms_get_template() helper performing extract() on the shortcode attribute array before resolving the template path, which allows the attacker-supplied \u0027template_name\u0027 and \u0027default_path\u0027 shortcode attributes to overwrite the function\u0027s local parameters and ultimately control the path passed to a PHP include. This makes it possible for authenticated attackers, with Instructor-level access and above, to include and execute arbitrary files on the server, that can be used to bypass access controls, obtain sensitive data, or achieve code execution in cases where files with safe extensions containing attacker-controlled content can be uploaded and included.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-98\", \"description\": \"CWE-98 Improper Control of Filename for Include/Require Statement in PHP Program (\u0027PHP Remote File Inclusion\u0027)\"}]}], \"providerMetadata\": {\"orgId\": \"b15e7b5b-3da4-40ae-a43c-f7aa60e62599\", \"shortName\": \"Wordfence\", \"dateUpdated\": \"2026-10-14T07:43:33.249Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2026-110284\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-10-15T16:43:49.092Z\", \"dateReserved\": \"2026-10-13T19:21:48.530Z\", \"assignerOrgId\": \"b15e7b5b-3da4-40ae-a43c-f7aa60e62599\", \"datePublished\": \"2026-10-14T07:43:33.249Z\", \"assignerShortName\": \"Wordfence\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…