Информация об этом была получена от разработчиков сегодня (25.04.06), сейчас представлено исправление.
Дистрибутивы IPB 2.0.4 и IPB 2.1.5 были обновлены.
Те, кто скачал дистрибутив после 22:00 по московскому времени, уже имеют исправленную версию.
Пакет файлов для устранения уязвимостей в IPB 2.1.x:
Пакет файлов для устранения уязвимостей в IPB 2.0.x:
Для исправелния ручками:
Для версий 2.1.х:
Файл /ips_kernel/class_upload.php, найти код:
CODE
else if ( ! $img_attributes[2] )
{
// Unlink the file first
@unlink( $this->saved_upload_name );
$this->error_no = 5;
return;
}
{
// Unlink the file first
@unlink( $this->saved_upload_name );
$this->error_no = 5;
return;
}
заменить на:
CODE
else if ( ! $img_attributes[2] )
{
// Unlink the file first
@unlink( $this->saved_upload_name );
$this->error_no = 5;
return;
}
else if ( $img_attributes[2] == 1 AND ( $this->file_extension == 'jpg' OR $this->file_extension == 'jpeg' ) )
{
// Potential XSS attack with a fake GIF header in a JPEG
@unlink( $this->saved_upload_name );
$this->error_no = 5;
return;
}
{
// Unlink the file first
@unlink( $this->saved_upload_name );
$this->error_no = 5;
return;
}
else if ( $img_attributes[2] == 1 AND ( $this->file_extension == 'jpg' OR $this->file_extension == 'jpeg' ) )
{
// Potential XSS attack with a fake GIF header in a JPEG
@unlink( $this->saved_upload_name );
$this->error_no = 5;
return;
}
Файл /sources/action_public/search.php, найти код:
CODE
$this->output = preg_replace( "#(value=[\"']{$this->ipsclass->input['lastdate']}[\"'])#i", "\\1 selected='selected'", $this->output );
заменить на:
CODE
$this->output = preg_replace( "#(value=[\"']".intval($this->ipsclass->input['lastdate'])."[\"'])#i", "\\1 selected='selected'", $this->output );
Файл ./sources/lib/func_taskmanager.php, найти код:
CODE
$this->cron_key = substr( trim(stripslashes($_REQUEST['ck'])), 0, 32 );
заменить на:
CODE
$this->cron_key = addslashes( substr( trim(stripslashes($this->ipsclass->txt_alphanumerical_clean($_REQUEST['ck']))), 0, 32 ) );
Для версий 2.0.х:
Файл ./sources/search.php, найти код:
CODE
$this->output = preg_replace( "#(value=[\"']{$ibforums->input['lastdate']}[\"'])#i", "\\1 selected='selected'", $this->output );
заменить на:
CODE
$this->output = preg_replace( "#(value=[\"']".intval($ibforums->input['lastdate'])."[\"'])#i", "\\1 selected='selected'", $this->output );
Файл ./sources/lib/task_functions.php, найти код:
CODE
$this->cron_key = substr( trim($ibforums->input['ck']), 0, 32 );
заменить на:
CODE
$this->cron_key = addslashes( substr( trim(stripslashes($_REQUEST['ck'])), 0, 32 ) );