Фикс безопасности в LiveStreet 0.5.1
В LiveStreet 0.5.1 (и в 0.4 ) обнаружены уязвимости.
Для версии LS 1.0 патч на гитхабе — github.com/livestreet/livestreet/commit/a5b7cd5979a9a20fe100a5cd1a748603b1159680
Для версии LS 0.5.1 в файле /classes/modules/user/User.class.php заменить метод (строки с 447 по 458):
Было:
Было:
Для версии LS 0.4 проделать все тоже самое, что и для LS 0.5.1, только строки будут с 434 по 445.
Настоятельно рекомендуем выполнить обновление.
Для версии LS 1.0 патч на гитхабе — github.com/livestreet/livestreet/commit/a5b7cd5979a9a20fe100a5cd1a748603b1159680
Для версии LS 0.5.1 в файле /classes/modules/user/User.class.php заменить метод (строки с 447 по 458):
Было:
protected function AutoLogin() {
if ($this->oUserCurrent) {
return;
}
if (isset($_COOKIE['key']) and $sKey=$_COOKIE['key']) {
if ($oUser=$this->GetUserBySessionKey($sKey)) {
$this->Authorization($oUser);
} else {
$this->Logout();
}
}
}
Стало:protected function AutoLogin() {
if ($this->oUserCurrent) {
return;
}
if (isset($_COOKIE['key']) and $sKey=(string)$_COOKIE['key']) {
if ($oUser=$this->GetUserBySessionKey($sKey)) {
$this->Authorization($oUser);
} else {
$this->Logout();
}
}
}
Если используете MooTools шаблоны, то необходимо в конец файла engine/lib/external/MooTools_1.2/plugs/vlaCal-v2.1/inc/vars.php дописать код:Было:
<?php
/* If you want to comply with E_STRICT php standards set a default timezone
* You can find default timezones here: http://us2.php.net/manual/en/timezones.php
*/
//date_default_timezone_set('Europe/Amsterdam');
$wdays_labels = array('Пн','Вт','Ср','Чт','Пт','Сб','Вс');
$month_labels = array("Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь");
$month_s_labels = array("Янв", "Февр", "Март", "Апр", "Май", "Июнь", "Июль", "Авг", "Сент", "Окт", "Нояб", "Дек");
?>
Стало: <?php
/* If you want to comply with E_STRICT php standards set a default timezone
* You can find default timezones here: http://us2.php.net/manual/en/timezones.php
*/
//date_default_timezone_set('Europe/Amsterdam');
$wdays_labels = array('Пн','Вт','Ср','Чт','Пт','Сб','Вс');
$month_labels = array("Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь");
$month_s_labels = array("Янв", "Февр", "Март", "Апр", "Май", "Июнь", "Июль", "Авг", "Сент", "Окт", "Нояб", "Дек");
if (isset($_POST['ts'])) {
$_POST['ts']=strip_tags((string)$_POST['ts']);
}
?>
Если используете jQuery шаблон, то достаточно просто удалить каталог engine/lib/external/MooTools_1.2/plugs/vlaCal-v2.1.Для версии LS 0.4 проделать все тоже самое, что и для LS 0.5.1, только строки будут с 434 по 445.
Настоятельно рекомендуем выполнить обновление.
19 комментариев
не понимаю сложно в любом IDE (благо многие современные это поддерживают) поиск в директории по определенному слову ($_COOKIE, $_GET, $_POST, $_REQUEST, $_FILES и тд) сделать и найти все вхождения не экранированных и тд. облегчите работу как себе, так и пользователям вашей системы.
PS даже секлаб про уязвимость написал — www.securitylab.ru/vulnerability/426181.php — это и не популярность? :)
с версии 1.0 они будут инкрементировать свою версию, чтобы пользователи не запутывались