Junglewise Threat Intelligence

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

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

Technologies: Frappe Learning, Frappe Technologies LMS. Vendors: Frappe, Frappe Technologies.

Executive brief

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.

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

Related threats