mirror of
https://github.com/moodle/moodle.git
synced 2025-04-15 05:25:08 +02:00
MDL-48929 repository_filesystem: Valide relative path against realpath
On Windows systems, there could have been a mix of back and forward slashes, causing the validation of the relative path to fail. Now we will always get the realpath before comparing.
This commit is contained in:
parent
da0ef2e4cf
commit
413907cff3
@ -575,7 +575,7 @@ class repository_filesystem extends repository {
|
||||
$fullrelativefilepath = realpath($this->get_rootpath().$basepath.$relativepath);
|
||||
|
||||
// Sanity check to make sure this path is inside this repository and the file exists.
|
||||
if (strpos($fullrelativefilepath, $this->get_rootpath()) === 0 && file_exists($fullrelativefilepath)) {
|
||||
if (strpos($fullrelativefilepath, realpath($this->get_rootpath())) === 0 && file_exists($fullrelativefilepath)) {
|
||||
send_file($fullrelativefilepath, basename($relativepath), null, 0);
|
||||
}
|
||||
}
|
||||
@ -665,4 +665,4 @@ function repository_filesystem_cron() {
|
||||
$instances[$itemid]->remove_obsolete_thumbnails($files);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user