Commit 52fc2fb5 authored by Prasad's avatar Prasad
Browse files

Fixes #1088: Santize filename uploaded with bad-extension

parent 3385fb92
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -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;
+3 −2
Original line number Diff line number Diff line
@@ -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();
			}
		}
+2 −2
Original line number Diff line number Diff line
@@ -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');
	}