| Type | software |
| Product Environment | web |
| Product Name | Frappe LMS |
| Product Vendor | Frappe |
| Product Version | 2.40.0 |
| Product Link | https://github.com/frappe/lms |
| Vulnerability Name | Improper Access Control |
| Severity | Medium |
|
CVSS String
|
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
| CVSS Score | 5.3 |
| CVE ID | - |
| Vendor Acknowledgement | No |
|
Affected digital Assets
|
10 |
|
Affected Users
|
50000 |
| Date of Reporting | Nov 27, 2025 |
| PoC Exploit | https://gist.github.com/0xHamy/4dc7d48e81475f996dba0d194ca07a0d |
| Credit | 0xhamy |
Frappe LMS version 2.40.0 contains an access control vulnerability where media files uploaded by instructors to assignments are publicly accessible to unauthenticated users.
While media uploaded by students to assignments is stored as private, instructor-uploaded media is stored under the /files/ path and can be accessed by anyone who knows or guesses the file URL.
The application applies inconsistent access control to assignment media uploads:
/files/ and are accessible without authentication.This allows an unauthenticated attacker to retrieve potentially sensitive teaching material or internal resources by directly requesting the file path or fuzzing filename patterns.
Log in as an instructor.
http://localhost:8000/lms/assignmentsCreate a new assignment.
Upload media in the question field.
http://localhost:8000/files/faj.pngAccess the file without authentication.
http://localhost:8000/files/faj.png/files/ to enumerate other private resources uploaded by instructors.While the impact is primarily on confidentiality, the risk is increased by the lack of authentication for the /files/ endpoint and the predictability of filenames.
/files/.