The XML grade import functionality (which allows setting or overwriting of student grades) did not include the necessary token to prevent a CSRF risk.
Moodle 5.0.0 5.0 is supported
Released 14 Apr 2025. The current 5.0 release is 5.0.10, published 14 Sep 2026.
Every one of them is fixed in 5.0.10, the current 5.0 release, 10 releases ahead of you. Upgrading within the branch is a minor update with no feature changes.
An incorrect capability check in a grade web service allowed students to access profile information of other students enrolled in the same course, which they would not otherwise have access to.
An SQL injection risk was identified in a question bank web service.
Incorrect handling of IPv4-mapped IPv6 addresses could allow bypassing of some blocked hosts, resulting in an SSRF risk.
User profile descriptions for authenticated users posed a denial of service risk due to the absence of a defined maximum length.
Insufficient capability checks in the Assignment module's marker allocation functionality allowed users without the required capability to allocate markers to submissions.
The regrade action in the quiz overview report did not include the necessary token to prevent a CSRF risk.
The grade item ID number editing functionality did not include the necessary token to prevent a CSRF risk and also lacked sufficient output sanitizing to prevent an XSS risk.
Additional checks were required to ensure users with the capability to delete comments can only do so in the contexts where they have the permission.
A remote code execution risk was identified in the admin presets import feature. Note: This feature is only available to site administrators.
An arbitrary file read risk was identified in the backup restore functionality.
A flaw in email-based multi-factor authentication made it possible for a user to bypass another user's MFA token check if using the email factor. Note: Valid login credentials (such as username and password) were still required to log into the account.
An arbitrary file read risk was identified in the Database Activity module's import feature.
A remote code execution risk was identified in Moodle's Google Drive repository plugin.
An SQL injection risk was identified in the "external database" authentication plugin (auth_db). Note: This only affected sites with the auth_db authentication plugin enabled.
Rendering of TeX content with mimetex in the formula editor required execution time limitations to prevent a denial of service risk.
Additional sanitizing was required on a TeX filter administration setting to prevent a remote code execution risk.
A remote code execution risk was identified in the file restore functionality.
The return URL in the policy tool required extra sanitizing to prevent a reflected XSS risk.
Insufficient sanitizing when exporting data to CSV / XLSX format could result in malicious formulas being inserted into the files.
Insufficient sanitizing in the formula editor could result in an XSS risk.
Insufficient sanitizing of AI provider responses resulted in an XSS risk.
Suspended users were not prevented from authenticating via the LTI Provider
A remote code execution risk was identified in the file restore functionality.
Incorrect handling of some endpoints during login made it possible to bypass the second factor of multi-factor authentication. Note: A valid username and password were still required to log in.
The upstream FPDI library was upgraded, which included a security fix.
Insufficient authorisation checks could result in users being able to view BigBlueButton recordings they did not have permission to access.
Insufficient state and capability checks resulted in some details of hidden courses (such as course name, description and teachers) being available to users who did not have permission to access them.
A DNS rebind risk in the way cURL requests were handled could result in an SSRF risk, due to the possibility of cURL blocked hosts / allowed ports site configurations being bypassed.
The upstream ADOdb library contained an SQL injection risk in the pg_insert_id() method. It is important to note that the core Moodle LMS was NOT affected by this vulnerability, however as a precaution, this library has been upgraded to remove the risk entirely, in case any third party code/plugins uses the vulnerable code.
An extension was omitted from the MathJax configuration shipped with Moodle when the library was upgraded in LMS 5.0, resulting in an XSS risk.
User list filters allowed managers to filter by user profile fields that they could not view on users' profiles.
Insufficient username escaping could allow a minor XSS risk if an unauthenticated user was tricked into opening a password reset link (so did not affect authenticated user sessions).
Missing capability checks made it possible for users to trigger grade penalty recalculation without having the capability to do so.
An incorrect capability check in the AI "generate image" web service could allow users to access that feature without having the "generate image" capability.
The manual enrolment management page did not prevent direct access when the plugin was disabled and a link was no longer available in the UI. Note: This still required the relevant capability to access the page (had it been enabled).
Insufficient escaping resulted in an XSS risk in some templates used to display forum posts.
Insufficient validation of the audience classname in report builder allowed arbitrary class instantiation.
The report builder fragment output callbacks did not verify that the requesting user had the required capability to access the requested report, potentially allowing users to retrieve report data beyond their permitted access.
A blind SSRF risk was identified in the MNet peers management functionality, due to missing validation of peer hostnames against the cURL blocked hosts configuration. Note: This feature is only available to site administrators.
Capability checks were missing from course assistance AI placement web services, which could allow users to make requests to those AI course assistance web services without having the relevant capabilities (if those features are enabled).
The quiz feature to add section headings did not include the necessary token to prevent a CSRF risk.
The actions to enable and disable group messaging did not include the necessary token to prevent a CSRF risk.
The Feedback activity module's import functionality required additional sanitizing to prevent a reflected XSS risk.
The user profile page reset action did not include the necessary token to prevent a CSRF risk.
The setting for users to set their own homepage preference did not include the necessary token to prevent a CSRF risk.
Missing group access checks in some grade web services could allow a user to access grade and user information for students in groups they did not have permission to view.
Insufficient CSRF token and capability checks were applied to an MNet admin setting.
The upstream AWS SDK for PHP library was upgraded, which included a security fix.
The grade penalty rules reset function did not include the necessary token to prevent a CSRF risk.
A flaw in message handling of conversations with deleted users could result in active users losing access to their private messages.
When blind marking is enabled for an assignment, user IDs remained visible on the assignment submissions page instead of being masked.
Badges being awarded with a role performed the correct capability check, but did not verify the user had the required role to meet the award criterion.
Forum ratings required additional permission checks to prevent users from being able to view ratings they did not have the capability to access.
Insufficient checks on a confirmation email web service made it easier to brute force password checks against known usernames.
An open redirect risk existed in the OAuth login functionality.
There was a behaviour that made it possible for a student to bypass the timed restriction on a timed assignment.
Insufficient capability checks meant users with the capability to create group events, but without the capability to view hidden groups, could see hidden and separate groups in the list of groups to select for calendar events.
It was possible to brute force password checks against known usernames when the mobile client and auth_webservice were enabled.
The router made it possible to determine valid course IDs due to inconsistent handling of valid and non-existent course IDs.
Incorrect error handling in the routing system could result in the application directories being listed if the "Accept text/html" header was not configured.
Insufficient capability checks meant a user with permission to manage/view cohorts in a lower context could retrieve data about cohorts defined in the system context, that they would not otherwise have access to.
Insufficient enrolment checks could result in quiz notifications being sent to users who had an inactive enrolment in the course (such as being suspended or past their enrolment end date).
Insufficient handling of course access checks in a course overview function could results in the information being returned to a user who did not have access to the course.
Insufficient capability checks meant a callback designed to allow plugins to control user profile access did not correctly limit access in some web service functions.
Feedback activity results for all groups in Separate Groups mode could be viewed by non-editing teachers when they were not a member of any group.
Separate Groups mode restrictions were not honoured when viewing a course's Logs report, so actions of all course participants were displayed in the report. By default this only provided additional access to non-editing teachers.
A stricter capability check was required to restrict which users can fetch other users' recently accessed courses information.
The "move up" and "move down" actions in backpack management for badges did not include the necessary token to prevent a CSRF risk.
Additional cache controls were required to prevent web browsers caching a user's password on the login page (note accessing this would require access to the web browser on the device where the user had logged in).
Advisory titles and descriptions are Moodle's own words, from the security announcements on moodle.org, and every entry links to its source. This list is a lower bound: Moodle stops issuing advisories for a branch once it leaves security support. MDL Shield is an independent service and is not affiliated with or endorsed by Moodle Pty Ltd.