[30-05-2007] XSS инъекция в Rich Text Editor

Уязвимость найдена в расширенном редакторе сообщений 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 ) ) ).'";'; ?>


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

 

security/2.2.x/lesscritical/30.05.2007.txt · Последние изменения: 2007/08/14 12:01 (внешнее изменение)

Работает на DokuWiki
© 2002—2006 ibresource
e-mail: wikiteam@iblink.ru