Skip to content
Snippets Groups Projects
Commit 52fc2fb5 authored by Prasad's avatar Prasad
Browse files

Fixes #1088: Santize filename uploaded with bad-extension

parent 3385fb92
No related branches found
No related tags found
No related merge requests found
......@@ -49,12 +49,13 @@ class Settings_Vtiger_CompanyDetailsSave_Action extends Settings_Vtiger_Basic_Ac
}
// Check for php code injection
$imageContents = file_get_contents($_FILES["logo"]["tmp_name"]);
$imageContents = file_get_contents($logoDetails["tmp_name"]);
if (preg_match('/(<\?php?(.*?))/i', $imageContents) == 1) {
$saveLogo = false;
}
if ($saveLogo) {
$moduleModel->saveLogo();
$logoName = ltrim(basename(' '.Vtiger_Util_Helper::sanitizeUploadFileName($logoDetails['name'], vglobal('upload_badext'))));
$moduleModel->saveLogo($logoName);
}
}else{
$saveLogo = true;
......@@ -91,4 +92,4 @@ class Settings_Vtiger_CompanyDetailsSave_Action extends Settings_Vtiger_Basic_Ac
public function validateRequest(Vtiger_Request $request) {
$request->validateWriteAccess();
}
}
\ No newline at end of file
}
......@@ -31,8 +31,9 @@ class Settings_Vtiger_UpdateCompanyLogo_Action extends Settings_Vtiger_Basic_Act
}
if ($saveLogo) {
$logoName = ltrim(basename(' '.Vtiger_Util_Helper::sanitizeUploadFileName($logoDetails['name'], vglobal('upload_badext'))));
$moduleModel->saveLogo();
$moduleModel->set('logoname', ltrim(basename(' '.Vtiger_Util_Helper::sanitizeUploadFileName($logoDetails['name'], vglobal('upload_badext')))));
$moduleModel->set('logoname', $logoName);
$moduleModel->save();
}
}
......@@ -49,4 +50,4 @@ class Settings_Vtiger_UpdateCompanyLogo_Action extends Settings_Vtiger_Basic_Act
public function validateRequest(Vtiger_Request $request) {
$request->validateWriteAccess();
}
}
\ No newline at end of file
}
......@@ -107,9 +107,9 @@ class Settings_Vtiger_CompanyDetails_Model extends Settings_Vtiger_Module_Model
/**
* Function to save the logoinfo
*/
public function saveLogo() {
public function saveLogo($logoName) {
$uploadDir = vglobal('root_directory'). '/' .$this->logoPath;
$logoName = $uploadDir.$_FILES["logo"]["name"];
$logoName = $uploadDir.$logoName;
move_uploaded_file($_FILES["logo"]["tmp_name"], $logoName);
copy($logoName, $uploadDir.'application.ico');
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment