Вышла (http://weblog.rubyonrails.org/2014/7/2/Rails_3_2_19_4_0_7_an.../) порция корректирующих обновлений web-фреймворка
Rails 3.2.19, 4.0.7 и 4.1.3, в которых устранены опасные уязвимости (https://groups.google.com/forum/#!msg/rubyonrails-security/w...) (CVE-2014-3482, CVE-2014-3483), позволяющие осуществить подстановку SQL-запроса через передачу web-приложению специальной оформленных входных значений.
Проблема проявляется только при использовании Active Record-драйвера для СУБД PostgreSQL и использовании специфичных для PostgreSQL типов bitstring (http://www.postgresql.org/docs/9.3/static/datatype-bit.html) или range (http://www.postgresql.org/docs/9.3/static/rangetypes.html), например, при употреблении в коде обработчиков вида Model.where(bitstring: params[:some_value]) или Model.where(range: params[:from]..params[:to]). Следом почти сразу вышли (http://weblog.rubyonrails.org/2014/7/2/Rails_4_0_8_and_4_1_4.../) обновления Rails 4.0.8 и 4.1.4, в которых устранены внесённые в 4.0.7 и 4.1.3 регрессивные изменения.URL: http://weblog.rubyonrails.org/2014/7/2/Rails_3_2_19_4_0_7_an.../
Новость: http://www.opennet.me/opennews/art.shtml?num=40152
Молодцы!
> позволяющие осуществить подстановку SQL-запроса через передачу web-приложению
> специальной оформленных входных значений.Безопасные ЯП - такие безопасные. А мегафреймворки нас спасут от всего, да? :)
Они безопасные при работе с памятью. Насчет безопасности в остальных аспектах тебе гарантий никто изначально не давал.
И причем тут вообще язык? Уязвимость возникла потому что разработчики не учли пару нюансов при работе с отдельной СУБД. Бывает, рядовой баг, уязвимость не так уж просто эксплуатировать (часто используете поля range и bitstring?). Вас что-то удивило и вы уже готовы поделиться своими гениальными выводами касательно конкретных ЯП?
Ruby on Fails.