Перейти к контенту

Обновление безопасности в IPB 2.x.x (25.04.06)


Рекомендуемые сообщения

Обращаем ваше внимание на найденные потенциальные уязвимости во всех версиях IPB 2.x.x.

 

Информация об этом была получена от разработчиков сегодня (25.04.06), сейчас представлено исправление.

 

Дистрибутивы IPB 2.0.4 и IPB 2.1.5 были обновлены.

 

Те, кто скачал дистрибутив после 22:00 по московскому времени, уже имеют исправленную версию.

 

Пакет файлов для устранения уязвимостей в IPB 2.1.x:

Скачать

 

Пакет файлов для устранения уязвимостей в IPB 2.0.x:

Скачать

 

В прикрепленных файлах находятся ZIP архивы с необходимыми файлами, которые нужны заменить в вашем форуме, чтобы устранить уязвимость. Просто разархивируйте архив и загрузите файлы поверх ваших на сервере. Структура форума в архивах сохранена.

 

Если у вас уже модифицированный IPB, то вы можете воспользоваться ручным исправлением уязвимостей, представленным ниже в этой теме.

 

Клиенты также могут написать в техническую поддержку через клиент-центр и запросить исправление уязвимости, предоставив FTP доступ.

ipb215_su250406.zip

ipb204_su250406.zip

Ссылка на комментарий
Поделиться на других сайтах

Ручное исправление уязвимостей от 25.04.06

 

Для версий 2.1.х:

 

Файл /ips_kernel/class_upload.php, найти код:

				else if ( ! $img_attributes[2] )
			{
				// Unlink the file first
				@unlink( $this->saved_upload_name );
				$this->error_no = 5;
				return;
			}

заменить на:

				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;
			}

 

Файл /sources/action_public/search.php, найти код:

			$this->output = preg_replace( "#(value=[\"']{$this->ipsclass->input['lastdate']}[\"'])#i", "\\1 selected='selected'", $this->output );

заменить на:

			$this->output = preg_replace( "#(value=[\"']".intval($this->ipsclass->input['lastdate'])."[\"'])#i", "\\1 selected='selected'", $this->output );

 

Файл /sources/action_public/messenger.php, найти код:

			$this->msglib->to_by_id = $this->ipsclass->input['from_contact'];

заменить на:

 			$this->msglib->to_by_id = intval( $this->ipsclass->input['from_contact'] );

 

Файл /sources/lib/func_taskmanager.php, найти код:

			$this->cron_key = substr( trim(stripslashes($_REQUEST['ck'])), 0, 32 );

заменить на:

			$this->cron_key = addslashes( substr( trim(stripslashes($this->ipsclass->txt_alphanumerical_clean($_REQUEST['ck']))), 0, 32 ) );

 

Для версий 2.0.х:

 

Файл /sources/search.php, найти код:

			$this->output = preg_replace( "#(value=[\"']{$ibforums->input['lastdate']}[\"'])#i", "\\1 selected='selected'", $this->output );

заменить на:

			$this->output = preg_replace( "#(value=[\"']".intval($ibforums->input['lastdate'])."[\"'])#i", "\\1 selected='selected'", $this->output );

 

Файл /sources/messenger.php, найти код:

 			$this->lib->to_by_id = $ibforums->input['from_contact'];

заменить на:

 			$this->lib->to_by_id = intval( $ibforums->input['from_contact'] );

 

Файл /sources/lib/task_functions.php, найти код:

			$this->cron_key = substr( trim($ibforums->input['ck']), 0, 32 );

заменить на:

			$this->cron_key = addslashes( substr( trim(stripslashes($_REQUEST['ck'])), 0, 32 ) );

Ссылка на комментарий
Поделиться на других сайтах

Дополнение от 1 мая

 

Еще одно исправление в файле /sources/action_public/messenger.php (для 2.0.x /sources/messenger.php).

 

Исправление смотрите в сообщении выше.

 

Спасибо!

Ссылка на комментарий
Поделиться на других сайтах

Гость
Эта тема закрыта для публикации сообщений.
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.