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