| Type | software | 
| Product Environment | web | 
| Product Name | Frappe LMS | 
| Product Vendor | Frappe | 
| Product Version | 2.35.0 | 
| Product Link | https://github.com/frappe/lms | 
| Vulnerability Name | Cross-Site Scripting | 
| Severity | Medium | 
| CVSS String | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N | 
| CVSS Score | 4.6 | 
| CVE ID | CVE-2025-11282 | 
| Vendor Acknowledgement | Yes | 
| Affected digital Assets | 10 | 
| Affected Users | 50000 | 
| Date of Reporting | Sep 21, 2025 | 
| PoC Exploit | - | 
| Credit | 0xhamy,KhanMarshai | 
Frappe LMS version 2.35.0 is vulnerable to a file upload flaw that enables stored cross-site scripting (XSS).
The application incorrectly handles uploaded HTML and SVG files. Although the UI shows visual error messages, malicious files can still be uploaded and later executed in users’ browsers.
The file upload feature allows users to bypass file-type restrictions by switching from “Image Files” to “All Files” and uploading crafted payloads.
While the platform presents a visual error, the files are still saved, and references to them can be accessed.
When other users or administrators view the uploaded file, arbitrary JavaScript payloads execute in their browser.
While this did not lead us to account takeover, we were still able to steal user's email addresses and admin status.
Log in as administrator.
Navigate to:
http://127.0.0.1:8000/app/user?enabled=1
Create a student account.
LMS Student.Create an assignment.
Create a course and attach the assignment.
Log in as the student user.
Upload a malicious file.
Note: An error appears, but the file is still saved.
Trigger the payload.
x) when prompted.Set up a server to capture data.
Alternative vector: SVG uploads.