| 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:M/I:N/A:N |
| CVSS Score | 6.5 |
| 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/79fa55aed109942b033bf334b4405d3b |
| Credit | 0xhamy |
Frappe LMS version 2.40.0 contains an access control vulnerability where media attached to community questions created by students is publicly accessible to unauthenticated users.
Under each assignment, students can post community questions intended for internal LMS use only. However, any media they upload in these questions is stored under /files/ and can be accessed by anyone with the URL.
The LMS provides Notes and Community features under each assignment. In the Community tab:
/files/ path.Since community questions are often informal and user-generated, students may upload:
Log in as an instructor and create course and assignment.
/lms/coursesCOURSE_NAME./lms/assignmentsText).Attach the assignment to a course lesson.
/lms/courses/COURSE_NAME/edit/lms/courses/COURSE_NAME/learn/1-2/editCreate a community question with media as a student.
COURSE_NAME.Obtain the media URL.
/files/FILENAME.extAccess the media without authentication.
http://localhost:8000/files/FILENAME.ext/files/ directory to discover other community-uploaded content.Because students often treat "community" areas as semi-private spaces, the likelihood of unintentionally sharing sensitive information is relatively high.
/files/ endpoints serving community content.