Security FAQ

Jump to: navigation, search

Note: You are currently viewing documentation for Moodle 2.0. Up-to-date documentation for the latest stable version is available here: Security FAQ.

How do I report a security issue?

Please create a new issue in the Moodle Tracker describing the problem in detail. (You'll need a tracker account in order to create a new issue.) Set the security level to "Serious security issue", then only the security team (led by Petr Skoda) and yourself as the reporter will be able to view it.

Previously fixed security issues are listed in the Security news. If you are unsure whether a problem has been fixed or not, it's best to report it anyway.

How can I keep my site secure?

It's good practice to always use the latest stable release of the version you are using. It is very safe to upgrade from 1.9.6 to 1.9.7+, for example, at any time. CVS is a very easy way to do this.

How do I keep track of recent security issues?

  • Register your Moodle sites with (visit admin/index.php in your installation to see the registration button), making sure to enable the option of being notified about security issues and updates. After your registration is accepted, your email address will be automatically added to our low-volume securityalerts mailing list.

Who is able to view security issues in the Tracker?

Depending upon the security level of a Tracker issue, access is restricted to developers, testers or members of the security team.

If you wish to find out which files have been changed and what lines of code have been added/amended for a particular security issue you can search cvs for the issue number. However, please note that the recent security fixes for 1.9.7 and 1.8.11 would be extremely complex to back-port to 1.9.6 or 1.8.10 and virtually impossible to back-port to earlier versions. Thus, upgrading is really the recommended solution.

Which versions of Moodle are supported?

  • As stated on, Moodle 1.8 and 1.9 are supported. If you're still using 1.6 or 1.7 then upgrading is highly recommended.
  • The latest development branch of Moodle is not intended for production use and while security problems are fixed, security announcements are not issued. If you are using the development branch for testing or evaluation, we assume that you will update your code regularly.
  • Our security officer Petr Škoda oversees the security of the code found in the standard Moodle distribution. The security of contributed code lies with the individual maintainers.

My site was hacked. What do I do?

See Hacked site recovery.

How can I reduce spam in Moodle?

See Reducing spam in Moodle.

How can I increase privacy in Moodle?

See Increasing privacy in Moodle.

How do I enable reCAPTCHA?

To add spam protection to the Email-based self-registration new account form with a CAPTCHA element:

  1. Obtain a reCAPTCHA key from by signing up for an account (free) then entering a domain.
  2. Copy and paste the public and private keys provided into the recaptchapublickey and recaptchaprivatekey fields in the manage authentication common settings in Administration > Users > Authentication > Manage authentication.
  3. Click the "Save changes" button at the bottom of the page.
  4. Follow the settings link for email-based self-registration in Administration > Users > Authentication > Manage authentication and enable the reCAPTCHA element.
  5. Click the "Save changes" button at the bottom of the page.

How can I run the security overview report?

To run the new security overview report, you need to be using Moodle 1.8.9 or 1.9.4. The report can be accessed via Administration > Reports > Security overview.

How can I enable password salting?

Moodle stores passwords as md5 strings. Password salting adds information to these strings to make them practically impossible to reverse. See Password salting for details of how to enable this feature.

What if I lose my password salt?

If you lose your password salt, then you and all other site users will have to go through password recovery to reset your passwords. To prevent this situation from occuring, you should keep a note of your password salt somewhere other than config.php.

See also

Using Moodle forum discussions: