В Ruby on Rails обнаружена критическая уязвимость, позволяющая выполнить код на сервере
- CVE-2013-0156 - серия уязвимостей, которая позволяет атакующему выполнить свой код на сервере, обойти средства аутентификации, осуществить подстановку SQL кода. Уязвимости вызваны рядом ошибок в коде разбора XML параметров в Action Pack. Код разбора параметров в Ruby on Rails позволяет приложениям автоматически приводить значения различных переменных из строкового типа в представление других типов данных. Некоторые из используемых при таких операциях преобразований неприменимы при попытке создания Symbols или при парсинге YAML, и могут быть использованы атакующим для компрометации Rails-приложений (по сути можно организовать выполнение Ruby-кода, заданного в XML блоках с параметром type="yaml"). Для атаки злоумышленнику достаточно отправить специальный POST-запрос к приложению, использующему Rails. Прототип эксплоита для проверки своих систем на уязвимость можно найти здесь, здесь или здесь.
В качестве обходного пути защиты рекомендует запретить разбор XML-параметров через установку опции "ActionDispatch::ParamsParser::DEFAULT_PARSERS.delete(Mime::XML)" для Rails 3.2, 3.1 и 3.0 или опции "ActionController::Base.param_parsers.delete(Mime::XML)" для Rails 2.3. Кроме того, можно отключить разбор поддержки YAML и Symbol в парсере XML;
- CVE-2013-0155 - позволяет изменить содержимое некоторых SQL-запросов (можно изменить запрос для применения условия "IS NULL" или для игнорирования блока WHERE) при использовании в приложении парсинга параметров JSON средствами Active Record. Проблема проявляется только в Rails 3.x.
Дополнение: опубликована серия рабочих прототипов эксплоитов (PoC) и детальный обзор техники эксплуатации. Кроме того, уже начали поступать сообщения о выявлении массовых атак на сайты, использующие Ruby on Rails.
Источник: http://www.opennet.ru/opennews/art.shtml?num=35792
|
0 | Tweet | Нравится |
|