Онлайн-консультация

Тел. в Москве: +7 495 _ 576 00 45
Тел. в СПБ: +7 812 _ 448 39 55
intranetoffice

631044003
Критическая уязвимость в Ruby on Rails
2012.06.05 15:38

В Web-инструментарии Ruby on Rails выявлена уязвимость, позволяющая злоумышленнику организовать подстановку SQL-кода. Проблема вызвана отсутствием должной проверки вложенных параметров запроса в коде Active Record. В частности, конструкция «Post.where(:id => params[:id]).all» в коде Active Record напрямую передает внешние параметры в блок WHERE SQL-запроса, что позволяет атакующему передать параметры, в результате которых params[:id] вернёт специально изменённый хэш с содержимым дополнительных условий для блока WHERE. В результате, атакующий может получить доступ на чтение к содержимому таблиц в текущей БД, например, содержащих параметры аутентификации или конфиденциальные данные.

Уязвимость появляется только в Ruby on Rails 3.x при использовании в приложениях Active Record для доступа к БД и включении поддержки вложенных параметров. Проблема устранена в корректирующих обновлениях Ruby on Rails 3.0.13, 3.1.5 и 3.2.5 (выпуск 3.2.4 отменён из-за регрессивных изменений). Похожая проблема зафиксирована в коде разбора параметров в Rack при использовании ActionPack, но она позволяет лишь вставить в SQL-запрос условие «IS NULL».

 

Источник: OpenNet


О проекте · Коммуникатор · Система задач · Заметки · IP-телефония · Контакты
© 2010, ЗАО "Российская внебиржевая сеть"
           
Rambler's Top100