# CVE-2026-34606: Frappe LMS stored XSS in lesson content

Source: https://junglewise.ai/threats/cve-2026-34606-frappe-lms-stored-xss-in-lesson-content  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-04-02. Updated: 2026-07-24  
License: CC BY 4.0 with a link back

CVE-2026-34606 · Severity: medium · CVSS 6.1 · Published 2026-04-02

Frappe LMS, a platform for structuring and delivering educational content, is affected by a security vulnerability that allows attackers to inject malicious scripts into lesson content. If a student or instructor views the compromised content, the script could execute in their browser, potentially leading to unauthorized actions or data theft. This issue affects versions 2.27.0 through 2.47.0 and has been resolved in version 2.48.0.

Technologies: [Frappe Learning](https://junglewise.ai/threats/technologies/learning), [Frappe Technologies LMS](https://junglewise.ai/threats/technologies/lms). Vendors: [Frappe](https://junglewise.ai/threats/vendors/frappe), [Frappe Technologies](https://junglewise.ai/threats/vendors/frappe-technologies).

## Quick answers

**Is CVE-2026-34606 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-34606 being exploited in the wild.

**How severe is CVE-2026-34606?** Medium severity, with a CVSS score of 6.1, published 2 April 2026.

**Which products and versions are affected?** Frappe Technologies LMS >= 2.27.0, < 2.48.0.

**Is there a fix for CVE-2026-34606?** A patch was published on 2026-03-12: Fix merged into develop branch via PR #2185 Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-34606 attacked?** It is attacked over the network, in a network appliance.

**Am I affected by CVE-2026-34606?** Check whether you run Frappe Learning or Frappe Technologies LMS at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

A stored cross-site scripting (XSS) vulnerability exists in Frappe LMS versions 2.27.0 to 2.47.x. The root cause is located in `lms/www/_lms.py`, where the application used `BeautifulSoup`'s `get_text()` method on content that had already been sanitized by the Frappe framework. This process inadvertently decoded HTML entities, effectively undoing the sanitization and allowing `<script>` tags to be rendered and executed in the victim's browser. An attacker can exploit this by submitting malicious payloads within lesson content. The vulnerability is patched in version 2.48.0 by ensuring HTML is properly escaped using `escape_html`.

## Affected products

- Frappe LMS >= 2.27.0, < 2.48.0

## Timeline

- 2026-03-12: patched: Fix merged into develop branch via PR #2185
- 2026-03-18: patched: Version 2.48.0 released
- 2026-03-31: advisory: Vendor security advisory published
- 2026-04-02: disclosed: CVE published to NVD

## References

- [https://github.com/frappe/lms/commit/b8283860a7f029ea2fa0245131c398c079088921](https://github.com/frappe/lms/commit/b8283860a7f029ea2fa0245131c398c079088921)
- [https://github.com/frappe/lms/pull/2185](https://github.com/frappe/lms/pull/2185)
- [https://github.com/frappe/lms/releases/tag/v2.48.0](https://github.com/frappe/lms/releases/tag/v2.48.0)
- [https://github.com/frappe/lms/security/advisories/GHSA-qf5w-r34q-c7j2](https://github.com/frappe/lms/security/advisories/GHSA-qf5w-r34q-c7j2)

## Related threats

- [Frappe LMS path traversal in SCORM ZIP upload](https://junglewise.ai/threats/cve-2026-39405-frappe-lms-path-traversal-in-scorm-zip-upload)
- [Frappe LMS client-side quiz score manipulation](https://junglewise.ai/threats/cve-2026-39415-frappe-lms-client-side-quiz-score-manipulation)
- [Frappe Learning Management System (LMS) is a learning system that helps users structure their content. Versions prior…](https://junglewise.ai/threats/cve-2025-67734-frappe-learning-management-system-lms-is-a-learning-system-that)
- [Frappe Learning Management System (LMS) is a learning system that helps users structure their content. Versions prior…](https://junglewise.ai/threats/cve-2025-67730-frappe-learning-management-system-lms-is-a-learning-system-that)
- [Frappe Learning Management System (LMS) is a learning system that helps users structure their content. Prior to…](https://junglewise.ai/threats/cve-2025-66581-frappe-learning-management-system-lms-is-a-learning-system-that)
