Moodle filter_jmol - LFI

Sooraj V Nair
Published on
01 Oct 2021

The Jmol/JSmol plugin is used to display chemical structures in Moodle using Java and JavaScript.The plugin uses a PHP server-side proxy to bypass client-side security constraints while loading third-party resources.This PHP proxy script calls the function file_get_contents() on unvalidated user input.


In the default PHP setup, this makes Moodle instances with this plugin vulnerable to directory traversal and server-side request forgery. If PHP’s “expect” wrapper is enabled, this may also result in remote code execution vulnerability.

Mitigation / Precaution

In order to patch this vulnerability, we recommend you to update the Jmol plugin to the latest version.

Automated human-like penetration testing for your web apps & APIs
Teams using Beagle Security are set up in minutes, embrace release-based CI/CD security testing and save up to 65% with timely remediation of vulnerabilities. Sign up for a free account to see what it can do for you.

Written by
Sooraj V Nair
Sooraj V Nair
Cyber Security Engineer
Find website security issues in a flash
Improve your website's security posture with proactive vulnerability detection.
Free website security assessment