Обновление безопасности в IPB 2.2.х (30.05.2007)
Уязвимость найдена в расширенном редакторе сообщений Invision Power Board, который позволяет оформлять текст и сразу же видеть результат (WYSIWYG). Появление уязвимости связано с недостаточной обработкой входных данных в некоторых параметрах, передаваемых через тэги редактора. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный код сценарий в браузере жертвы в контексте уязвимого сайта.
Пример/Эксплоит: Нет
Исправление:
Открыть файл
./jscripts/folder_rte_files/module_bbcodeloader.php
найти:
Код:
var editor_id = <?php print '"'.trim($_REQUEST['editorid']).'";'; ?>
var bbcode_id = <?php print '"'.trim($_REQUEST['id']).'";'; ?>
Заменить на:
Код:
var editor_id = <?php print '"'.trim( htmlspecialchars( substr( $_REQUEST['editorid'], 0, 30 ) ) ).'";'; ?>
var bbcode_id = <?php print '"'.trim( htmlspecialchars( substr( $_REQUEST['id'], 0, 30 ) ) ).'";'; ?>
Открыть файл
./jscripts/folder_rte_files/module_div.php
найти:
Код:
var editor_id = <?php print '"'.trim($_REQUEST['editorid']).'";'; ?>
Заменить на:
Код:
var editor_id = <?php print '"'.trim( htmlspecialchars( substr( $_REQUEST['editorid'], 0, 30 ) ) ).'";'; ?>
Открыть файл
./jscripts/folder_rte_files/module_email.php
найти:
Код:
var editor_id = <?php print '"'.trim($_REQUEST['editorid']).'";'; ?>
Заменить на:
Код:
var editor_id = <?php print '"'.trim( htmlspecialchars( substr( $_REQUEST['editorid'], 0, 30 ) ) ).'";'; ?>
Открыть файл
./jscripts/folder_rte_files/module_image.php
найти:
Код:
var editor_id = <?php print '"'.trim($_REQUEST['editorid']).'";'; ?>
Заменить на:
Код:
var editor_id = <?php print '"'.trim( htmlspecialchars( substr( $_REQUEST['editorid'], 0, 30 ) ) ).'";'; ?>
Открыть файл
./jscripts/folder_rte_files/module_link.php
найти:
Код:
var editor_id = <?php print '"'.trim($_REQUEST['editorid']).'";'; ?>
Заменить на:
Код:
var editor_id = <?php print '"'.trim( htmlspecialchars( substr( $_REQUEST['editorid'], 0, 30 ) ) ).'";'; ?>
Открыть файл
./jscripts/folder_rte_files/module_table.php
найти:
Код:
var editor_id = <?php print '"'.trim($_REQUEST['editorid']).'";'; ?>
Заменить на:
Код:
var editor_id = <?php print '"'.trim( htmlspecialchars( substr( $_REQUEST['editorid'], 0, 30 ) ) ).'"