Rapid7 Vulnerability & Exploit Database

Moodle Remote Command Execution

Back to Search

Moodle Remote Command Execution



Moodle allows an authenticated user to define spellcheck settings via the web interface. The user can update the spellcheck mechanism to point to a system-installed aspell binary. By updating the path for the spellchecker to an arbitrary command, an attacker can run arbitrary commands in the context of the web application upon spellchecking requests. This module also allows an attacker to leverage another privilege escalation vuln. Using the referenced XSS vuln, an unprivileged authenticated user can steal an admin sesskey and use this to escalate privileges to that of an admin, allowing the module to pop a shell as a previously unprivileged authenticated user. This module was tested against Moodle version 2.5.2 and 2.2.3.


  • Brandon Perry <bperry.volatile@gmail.com>






Module Options

To display the available options, load the module within the Metasploit console and run the commands 'show options' or 'show advanced':

msf > use exploit/multi/http/moodle_cmd_exec
msf exploit(moodle_cmd_exec) > show targets
msf exploit(moodle_cmd_exec) > set TARGET < target-id >
msf exploit(moodle_cmd_exec) > show options
    ...show and set options...
msf exploit(moodle_cmd_exec) > exploit

Time is precious, so I don’t want to do something manually that I can automate. Leveraging the Metasploit Framework when automating any task keeps us from having to re-create the wheel as we can use the existing libraries and focus our efforts where it matters.

– Jim O’Gorman | President, Offensive Security