Skip to content

Commit

Permalink
Fixes #4004 - Prevent admin password filtering during install
Browse files Browse the repository at this point in the history
Not the cleanest method, but effective.
  • Loading branch information
Moc committed Nov 4, 2019
1 parent 74aeb9d commit 5b39b11
Showing 1 changed file with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion install.php
Expand Up @@ -255,9 +255,18 @@ function getperms($arg, $ap = '')
if(isset($_POST['previous_steps']))
{
$tmp = unserialize(base64_decode($_POST['previous_steps']));
$tmp = filter_var_array($tmp, FILTER_SANITIZE_STRING);

// Save unfiltered admin password (#4004) - " are transformed into "
$tmpadminpass1 = $tmp['admin']['password'];

$tmp = filter_var_array($tmp, FILTER_SANITIZE_STRING);

// Restore unfiltered admin password
$tmp['admin']['password'] = $tmpadminpass1;

$override = (isset($tmp['paths']['hash'])) ? array('site_path'=>$tmp['paths']['hash']) : array();
unset($tmp);
unset($tmpadminpass1);
}

//$e107_paths = compact('ADMIN_DIRECTORY', 'FILES_DIRECTORY', 'IMAGES_DIRECTORY', 'THEMES_DIRECTORY', 'PLUGINS_DIRECTORY', 'HANDLERS_DIRECTORY', 'LANGUAGES_DIRECTORY', 'HELP_DIRECTORY', 'CACHE_DIRECTORY', 'DOWNLOADS_DIRECTORY', 'UPLOADS_DIRECTORY', 'MEDIA_DIRECTORY', 'LOGS_DIRECTORY', 'SYSTEM_DIRECTORY', 'CORE_DIRECTORY');
Expand Down Expand Up @@ -379,8 +388,17 @@ function __construct()
if(isset($_POST['previous_steps']))
{
$this->previous_steps = unserialize(base64_decode($_POST['previous_steps']));

// Save unfiltered admin password (#4004) - " are transformed into "
$tmpadminpass2 = $this->previous_steps['admin']['password'];

$this->previous_steps = $tp->filter($this->previous_steps);

// Restore unfiltered admin password
$this->previous_steps['admin']['password'] = $tmpadminpass2;

unset($_POST['previous_steps']);
unset($tmpadminpass2);
}
else
{
Expand Down

0 comments on commit 5b39b11

Please sign in to comment.