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

Discussion in 'Мировые новости. Обсуждения.' started by Talisman, 4 Nov 2006.

  1. Talisman

    Talisman Elder - Старейшина

    Joined:
    22 Apr 2006
    Messages:
    400
    Likes Received:
    151
    Reputations:
    80
    Источник: 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 с
    Code:
     if c.nil?
    на
    Code:
    if c.nil? || c.empty?
    Или просто берём вот этот патч, если у вас есть и вы умеете пользоваться соответствующей утилитой :)
     
    2 people like this.
  2. /W0W3/s

    /W0W3/s HarD CorE

    Joined:
    18 Jun 2005
    Messages:
    646
    Likes Received:
    212
    Reputations:
    85
    а где ссылка на патч =))
     
  3. Talisman

    Talisman Elder - Старейшина

    Joined:
    22 Apr 2006
    Messages:
    400
    Likes Received:
    151
    Reputations:
    80
    на ачате: http://www.forum.antichat.ru/thread26530.html там Talisman сказал, как пропатчить руби
    :D
     
  4. /W0W3/s

    /W0W3/s HarD CorE

    Joined:
    18 Jun 2005
    Messages:
    646
    Likes Received:
    212
    Reputations:
    85
    что это значит ?
     
Loading...