PDA

Просмотр полной версии : Переполнение памяти в Ruby


Talisman
04.11.2006, 14:54
Источник: http://doci.nnm.ru/scrip/03.11.2006/ruby_uyazvimost_v_biblioteke_cgi/

В библиотеке CGI ruby обнаружена уязвимость, которая позволяет успешно проводить DoS-атаки против вашего web-сервера.

Если злоумышленник отправляет на ваш сервер http-запрос, использующий так называемую multipart MIME encoding, в котором разделитель частей начинается с "-" вместо "--", то это приводит к тому, что сжирается вся память, загрузка процессора тут же взлетает под потолок - получите полноценную Denial of Service attack.

Подвержены все версии, вплоть до текущей стабильной 1.8.5, а так же все девелоперские (1.9), выпущенные до 23 сентября 2006 года.

Лечить не просто, а очень просто:
Находим файл cgi.rb. В случае любой unix-like OS с правильной иерархией файловой системы это будет /usr/local/lib/ruby/<версия.ruby>/cgi.rb. В случае же Windows в каталоге, куда установлен ruby, ищем lib\ruby<версия.ruby>\cgi.rb.

Открываем его в редакторе и меняем строку под номером 1021 с
if c.nil?
на
if c.nil? || c.empty?
Или просто берём вот этот патч, если у вас есть и вы умеете пользоваться соответствующей утилитой :)

SK | Heaton
04.11.2006, 15:25
а где ссылка на патч =))

Talisman
04.11.2006, 16:26
на ачате: http://www.forum.antichat.ru/thread26530.html там Talisman сказал, как пропатчить руби
:D

SK | Heaton
07.11.2006, 06:50
Или просто берём вот этот патч, если у вас есть и вы умеете пользоваться соответствующей утилитой
что это значит ?