Frappe Learning Management System (LMS) is a learning system that helps users structure their content. Prior to version 2.52.0, an authenticated user with a course editing role can inject malicious JavaScript through meta tag fields in the Course Management module. The values are stored without adequate HTML sanitization and are not safely escaped when rendered, allowing stored cross-site scripting. This issue is fixed in version 2.52.0.
PUBLISHED5.2CWE-79
Frappe LMS has Stored XSS in Course Meta
Problem type
Affected products
frappe
lms
< 2.52.0 - AFFECTED
References
https://github.com/frappe/lms/security/advisories/GHSA-9fqj-95wr-6hm6
https://github.com/frappe/lms/security/advisories/GHSA-9fqj-95wr-6hm6
https://github.com/frappe/lms/commit/cd6aca25f7d28425660720db4fdb920727edb670
https://github.com/frappe/lms/commit/cd6aca25f7d28425660720db4fdb920727edb670
https://github.com/frappe/lms/commit/f244a6c9ff6e0b104fec48b2d97af4cc09896b60
https://github.com/frappe/lms/commit/f244a6c9ff6e0b104fec48b2d97af4cc09896b60
https://github.com/frappe/lms/tree/v2.52.0
https://github.com/frappe/lms/tree/v2.52.0
JSON source
https://cveawg.mitre.org/api/cve/CVE-2026-39375Click to expand
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-39375",
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"dateUpdated": "2026-10-30T18:35:46.027Z",
"dateReserved": "2026-04-06T21:29:17.350Z",
"datePublished": "2026-10-30T16:46:58.127Z",
"state": "PUBLISHED"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M",
"dateUpdated": "2026-10-30T16:46:58.127Z"
},
"title": "Frappe LMS has Stored XSS in Course Meta",
"descriptions": [
{
"lang": "en",
"value": "Frappe Learning Management System (LMS) is a learning system that helps users structure their content. Prior to version 2.52.0, an authenticated user with a course editing role can inject malicious JavaScript through meta tag fields in the Course Management module. The values are stored without adequate HTML sanitization and are not safely escaped when rendered, allowing stored cross-site scripting. This issue is fixed in version 2.52.0."
}
],
"affected": [
{
"vendor": "frappe",
"product": "lms",
"versions": [
{
"version": "< 2.52.0",
"status": "affected"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"description": "CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')",
"cweId": "CWE-79",
"type": "CWE"
}
]
}
],
"references": [
{
"url": "https://github.com/frappe/lms/security/advisories/GHSA-9fqj-95wr-6hm6",
"name": "https://github.com/frappe/lms/security/advisories/GHSA-9fqj-95wr-6hm6",
"tags": [
"x_refsource_CONFIRM"
]
},
{
"url": "https://github.com/frappe/lms/commit/cd6aca25f7d28425660720db4fdb920727edb670",
"name": "https://github.com/frappe/lms/commit/cd6aca25f7d28425660720db4fdb920727edb670",
"tags": [
"x_refsource_MISC"
]
},
{
"url": "https://github.com/frappe/lms/commit/f244a6c9ff6e0b104fec48b2d97af4cc09896b60",
"name": "https://github.com/frappe/lms/commit/f244a6c9ff6e0b104fec48b2d97af4cc09896b60",
"tags": [
"x_refsource_MISC"
]
},
{
"url": "https://github.com/frappe/lms/tree/v2.52.0",
"name": "https://github.com/frappe/lms/tree/v2.52.0",
"tags": [
"x_refsource_MISC"
]
}
],
"metrics": [
{}
]
},
"adp": [
{
"providerMetadata": {
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP",
"dateUpdated": "2026-10-30T18:35:46.027Z"
},
"title": "CISA ADP Vulnrichment",
"metrics": [
{}
]
}
]
}
}