CVE-2025-49515: Details of hidden courses visible in Moodle
When a course was expanded in the course category listing, Moodle returned its details without looking at its visibility. Students could learn that a hidden course existed and who was teaching it.
1Summary
- Advisory
- MSA-25-0033
- System
- Moodle
- Component
- Course listing in categories (core_course)
- Class
- Missing authorisation
- Severity
- Serious
In Moodle, hidden courses are only visible to accounts with the moodle/course:viewhiddencourses capability, usually teachers and managers. Universities and companies use this to prepare courses before opening them.
Expanding an entry in the course category listing loads further details in the background. That request fetched the course straight from the database and returned it without asking about visibility or the matching capability.
Reported by Vincent Schneider through the Moodle security process, published as MSA-25-0033.
2Who is affected
Users without permission to see hidden courses.
Any account that can open the course listing but may not see hidden courses was affected, typically students. No special permission was needed; asking for the identifier of a hidden course was enough.
3Impact
What leaked was the name and description of a hidden course along with its assigned teachers. Course content and participant lists stayed protected.
It becomes awkward when the course name alone gives away something not yet announced, such as a planned degree programme.
4Fix
- Affected versions
- 5.0.0, 4.5.0 to 4.5.4, 4.4.0 to 4.4.8, 4.1.18 and earlier
- Fixed in
- 5.0.1, 4.5.5, 4.4.9, 4.1.19
- Published
- 17 Jun 2025
- Fix in the source
- d6f3034
Moodle now checks whether the course is hidden before returning anything and, if it is, requires moodle/course:viewhiddencourses. Without that capability the page answers as if the course did not exist.
We check for this class of flaw in every project we build or audit. For third-party code as a security audit.
5 / Contact
Should we review your Moodle plugins?
Describe your project in three short steps. We usually reply within one business day.