11878-Invalid extensions file repo

This commit is contained in:
Pablo Aragon 2023-08-25 13:19:23 +02:00
parent 699b170338
commit f221b83a9e

View File

@ -204,6 +204,12 @@ function files_repo_add_file($file_input_name='upfile', $description='', $groups
if ($upload_result === true) { if ($upload_result === true) {
$filename = $_FILES[$file_input_name]['name']; $filename = $_FILES[$file_input_name]['name'];
// Invalid extensions.
$extension = pathinfo($filename, PATHINFO_EXTENSION);
$invalid_extensions = '/^(php|php1|php2|php3|php4|php5|php7|php8|phar)$/i';
if (preg_match($invalid_extensions, $extension) === 0) {
// Replace conflictive characters // Replace conflictive characters
$filename = str_replace([' ', '=', '?', '&'], '_', $filename); $filename = str_replace([' ', '=', '?', '&'], '_', $filename);
$filename = filter_var($filename, FILTER_SANITIZE_URL); $filename = filter_var($filename, FILTER_SANITIZE_URL);
@ -250,6 +256,9 @@ function files_repo_add_file($file_input_name='upfile', $description='', $groups
} else { } else {
$result['message'] = __('There was an error creating the file'); $result['message'] = __('There was an error creating the file');
} }
} else {
$result['message'] = __('File has an invalid extension');
}
} else { } else {
$result['message'] = $upload_result; $result['message'] = $upload_result;
} }