diff --git a/lib/moodlelib.php b/lib/moodlelib.php index 4cdd10e58ec..c631840ebcc 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -1105,8 +1105,9 @@ function clean_param($param, $type) { } else if (preg_match('/^' . preg_quote($CFG->wwwroot . '/', '/') . '/i', $param)) { // Absolute, and matches our wwwroot. } else { + // Relative - let's make sure there are no tricks. - if (validateUrlSyntax('/' . $param, 's-u-P-a-p-f+q?r?')) { + if (validateUrlSyntax('/' . $param, 's-u-P-a-p-f+q?r?') && !preg_match('/javascript:/i', $param)) { // Looks ok. } else { $param = '';