URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 88157
[ Назад ]

Исходное сообщение
"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."

Отправлено opennews , 09-Янв-13 19:03 
Спустя всего неделю после выявления (http://www.opennet.me/opennews/art.shtml?num=35748) во фреймворке Ruby on Rails возможности подстановки SQL-кода, разработчиками проекта представлена (http://weblog.rubyonrails.org/2013/1/8/Rails-3-2-11-3-1-10-3.../) очередная порция обновлений Ruby on Rails 3.2.11, 3.1.10, 3.0.19 и 2.3.15  с устранением нескольких новых уязвимостей. Одна из проблем помечена как экстремально опасная, так как позволяет злоумышленнику выполнить свой код на сервере. Всем пользователям  Ruby on Rails рекомендуется как можно скорее обновить свои системы и проанализировать по логам возможные факты эксплуатации уязвимостей.


-  CVE-2013-0156 (https://groups.google.com/group/rubyonrails-security/browse_...)  - серия уязвимостей, которая позволяет атакующему выполнить свой код на сервере, обойти средства аутентификации, осуществить подстановку SQL кода. Уязвимости вызваны (http://www.insinuator.net/2013/01/rails-yaml/) рядом ошибок в коде разбора  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 (https://groups.google.com/group/rubyonrails-security/browse_...) - позволяет изменить содержимое некоторых SQL-запросов (можно изменить запрос для применения условия "IS NULL" или для игнорирования блока WHERE) при использовании в приложении парсинга параметров JSON средствами Active Record. Проблема проявляется только в Rails 3.x.


URL: http://weblog.rubyonrails.org/2013/1/8/Rails-3-2-11-3-1-10-3.../
Новость: http://www.opennet.me/opennews/art.shtml?num=35792


Содержание

Сообщения в этом обсуждении
"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Аноним , 09-Янв-13 19:12 
Уау !!! Эксплоит необычайно красив. Достаточно POST-ом отправить:

<?xml version="1.0" encoding="UTF-8"?>
<bang type="yaml">--- !ruby/object:Time {}
</bang>

и будет выполнен код object:Time


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено homakov , 09-Янв-13 19:23 
в паблике PoC еще не было, он очень интересный я думаю.

"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Аноним , 09-Янв-13 20:00 
Красота какая. Python, теперь Ruby.

"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Anonymous000 , 09-Янв-13 20:31 
не руби, а рельсы

"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Michael Shigorin , 09-Янв-13 20:40 
> не руби, а рельсы

Да и не питон, а MoinMoin.


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено зачем имя анониму , 09-Янв-13 21:25 
Хм, когда находят уязвимости в PHP-приложениях, все почему-то поливают помоями в первую очередь платформу, а не сами приложения.

"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено filosofem , 09-Янв-13 21:31 
> Хм, когда находят уязвимости в PHP-приложениях, все почему-то поливают помоями в первую
> очередь платформу, а не сами приложения.

Не все, а сугубо некоторые. Но от этих некоторых так воняет, что нормальные люди с адекватным мнением часто предпочитают не отмечаться здесь в темах относительно PHP, Wayland и Ubuntu, чтобы не забрызгало. И я их понимаю.


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Аноним , 09-Янв-13 21:43 
> Хм, когда находят уязвимости в PHP-приложениях, все почему-то поливают помоями в первую
> очередь платформу, а не сами приложения.

Потому что эти уязвимости связаны с проблемами самой платформы PHP.


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Michael Shigorin , 09-Янв-13 22:06 
>> Хм, когда находят уязвимости в PHP-приложениях, все почему-то поливают помоями в первую
>> очередь платформу, а не сами приложения.
> Потому что эти уязвимости связаны с проблемами самой платформы PHP.

Давайте всё-таки различать уязвимости приложений, фреймворков, платформы; как и их причины -- ошибки дизайна, промахи реализации, низкий общий культурный уровень.


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено бедный буратино , 10-Янв-13 03:01 
> Давайте всё-таки различать уязвимости приложений, фреймворков, платформы; как и их причины -- ошибки дизайна, промахи реализации, низкий общий культурный уровень.

До недавних пор, пока все пальцами тыкать не начали, в php вообще не знали, что такое фреймворк.

И такие фичи, как "инклюд со всеми паролями, который можно найти с помощью спайдера, потому что лежит где-то рядом" или "внезапно (например, при переносе) не запустилось php, и в результате веб-сервер отдаёт полные исходники".

Кроме того, некоторые вещи, которые в развитых средствах делаются легко и приятно, в php приходится костылить и набалдашивать, поэтому и велика вероятность ошибок.

Ещё php не неглядный для веба. Конечно, некоторые фреймворки пытаются скрыть этот факт, но среднего php-шника на фреймворки не загонишь, потому что это чуждая культура - фича php это написать <? tralala; ?> здесь и сейчас, а не сначала делать схему, проектирование и уже по ней реализовывать. PHP-шник, который захочет делать всё по уму, быстро придёт к выводу, что по уму намного удобнее делать на том же python :) Это писать "где придётся, как придётся" удобнее на php. :)


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Anonymous000 , 10-Янв-13 04:52 
Архитектура приложения на порядок более важна, чем язык. Грамотно спроектированное приложение, основанное на нормальном фреймворке (а нормальный фреймворк, помимо прочего, сглаживает недостатки языка), переписывать с одного языка на другой - это, мягко выражаясь, не самое эффективное использование времени разработчиков.

"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено бедный буратино , 10-Янв-13 05:43 
> Архитектура приложения на порядок более важна, чем язык. Грамотно спроектированное приложение,
> основанное на нормальном фреймворке (а нормальный фреймворк, помимо прочего, сглаживает
> недостатки языка), переписывать с одного языка на другой - это, мягко
> выражаясь, не самое эффективное использование времени разработчиков.

То, что php-шники считают, что их язык самый простой в освоении и самый лучший для входа в разработку, не означает, что это так, и что на bottle они бы не смогли сделать то же самое, но намного проще. Потому что bottle намного проще в освоении - это раз, и что от тех ошибок (типа sql-инъекций), от которых php-шники будут избавляться только через 0.5-2 года опыта, тут они избавляются сразу, потому что сразу учатся писать правильно.


Есть у php ровно 1 преимущество: абстрактная домохозяйка, делающая сайт рецептов, при должной сноровке и опыте, сама сможет как-то распаковать архив на ftp и установить готовое php-приложение. К разработке это не относится никаким образом.

Но всё намного проще: вся эта обида, с которой php-шники радуются недостаткам другим, проистекает только от того, что php, кроме домохозяек, никто серьёзно не воспринимает, и их это бесит. Но даже если в ruby будет 2 млн. уязвимостей, php от этого лучше не станет. Почему-то даже перловики, которых 3.5 штуки, не комплексуют, что пишут на perl, а php-шники всё успокоиться не могут, ходят в темы по другим уязвимостям и радуются чужим, вместо того, чтобы заботиться о себе. Это - первый признак неадекватности, это вам любой психиатр подтвердит.


А от языка многое зависит - и культура, и вся связанная инфраструктура, и даже приобретаемые привычки. Например, python вызывает привычку ставить отступы :)


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Еще анонимус , 10-Янв-13 08:09 
Всегда приятно и смешно читать мнение упоротых (в любой области, не только касательно РНР).
Новость о RoR. Казалось бы - обсуждаем Ruby. Но нет. Упоротые всегда скатятся к своему фетишу и будут его с удовольствием посасывать, забыв о сабже, окружающей реальности и прочих мелочах.
Продолжайте дальше, эту ветку довольно забавно читать.

"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено гпм , 11-Янв-13 14:37 
А то Си такую привычку не вызывает :)

"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Аноним , 14-Янв-13 11:38 
> То, что php-шники считают, что их язык самый простой в освоении и
> самый лучший для входа в разработку, не означает, что это так,

Да, толпы питонистов и рубистов с батхертом пытаются оспорить этот титул.


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Аноним , 09-Янв-13 22:47 
> Потому что эти уязвимости связаны с проблемами самой платформы PHP.

Ну тогда будет честно если дырка в moinmoin будет распостранена на весь питон, да? :)


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Anonymous000 , 09-Янв-13 22:58 
Нет. Они связаны с 95% программистов на php. А так - вполне нормальный инструмент, если закрыть глаза на кривости стандартной библиотеки - детские болезни типа register_globals и magic_quotes давно исправлены. "Программисты на рельсах", сам ruby не знающие, и чуть чего, бегущие на форумы с вопросом "где взять gem для foo", ничем не лучше. В ровных руках и руби, и php, и питон хороши и пригодны.

"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Crazy Alex , 09-Янв-13 23:21 
Стоит всё же добавить, что PHP не блещет внутренней логикой. Чего стоит только то, как прикручивали по отдельности возможность индексации то к непосредственному результату выполнения функции, то ещё к чему-то... Или можно вспомнить, что функции там регистронезависимы - а переменные регистрозависимы... В общем, там старых скелетов всё же многовато.

"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Anonymous000 , 10-Янв-13 00:26 
В с++ скелетов не меньше, если задуматься. Что не мешает на нем писать.

"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Например , 10-Янв-13 02:14 
те кто пишут на c++ имеют, все-таки, имеют более высоку квалификацию. иначе просто не скомпилируется или будет постоянно падать из-за неправильной работы с памятью, указателями и т.п.

"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Anonymous000 , 10-Янв-13 04:57 
Ох... Моя первая работа (в 18 лет) заключалась как раз в программировании на С++. Оно, конечно, компилировалось и работало, и даже почти не падало, но если бы мне показали сейчас этот код, я бы умер от стыда. :-)

"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено бедный буратино , 10-Янв-13 03:06 
> В с++ скелетов не меньше, если задуматься. Что не мешает на нем писать.

Если взломать приложение на c++, самое большее, что можно получить - это бесконечные жизни. :)


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Anonymous000 , 10-Янв-13 04:59 
>> В с++ скелетов не меньше, если задуматься. Что не мешает на нем писать.
> Если взломать приложение на c++, самое большее, что можно получить - это
> бесконечные жизни. :)

Или выполнение произвольного кода. Но бесконечные жизни забавнее, не спорю :-)


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Michael Shigorin , 09-Янв-13 20:40 
Соответственно из дистрибутива или gem install rails -v=2.3.15

PS: интересно, кому вообще такая "гениальная идея" пришла в голову при существовавшем на то время register_globals в PHP и широкой известности самых разнообразных проблем с ним... опять небось виндузятники с макинтоидами, не читавшие даже study in scarlet :-/


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено deadless , 09-Янв-13 21:28 
Микаэль, у тебя параноя :) кругом враги мерещаццо, в следующий раз чашку кофе прольешь, кляни на чем свет стоит тех виндузятнегов что кофе изобрели!

"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено filosofem , 09-Янв-13 21:34 
> виндузятнегов что кофе
> изобрели!

Вообще-то сановцы.


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Michael Shigorin , 09-Янв-13 21:38 
> Микаэль, у тебя параноя :)

Всего лишь читаю или поглядываю в ruby-talk@ без малого десять лет.


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено тигар , 09-Янв-13 23:08 
>> Микаэль, у тебя параноя :)
> Всего лишь читаю или поглядываю в ruby-talk@ без малого десять лет.

правильно. не показывай мАлому это!:-)


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Аноним , 09-Янв-13 20:45 
> unfortunately, the patches cause a serious regression, because every JSON incomming request containing nil values are now stripped.
> https://github.com/rails/rails/issues/8831

Вот такое вот обновление...


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено pavlinux , 09-Янв-13 22:26 
Ха, пля, я для редмана эксплойт намутил. Вешайтесь духи!!! :)

"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Аноним , 09-Янв-13 22:50 
> Ха, пля, я для редмана эксплойт намутил. Вешайтесь духи!!! :)

Думаешь, за остальными заржаевеет? Хотя вот честно, обладателей редмайнов и мойнмойнов не жалко. Совсем. Они вывешивают окружающим такие кактусы. Пусть теперь сами выкусят.


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено pavlinux , 09-Янв-13 23:42 
Да ладно, нормальная СРМка, для малого офиса. Тока ухаживать за ним надо.
Самая ж..па была той весной, когда  дистрибутивы массово на руби 2.0+ перешли,
а редмайновцы и плугино-писатели особо не торопились.
Было два выхода - ставить руби 1.8 или переделывать/доделывать редмайн с плугинами,
сейчас вроде всё устаканилось.      

"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Led , 10-Янв-13 02:52 
>Самая ж..па была той весной, когда  дистрибутивы массово на руби 2.0+ перешли

Верни машину времени на место. Или бросай бухать.


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено бедный буратино , 10-Янв-13 05:35 
> когда  дистрибутивы массово на руби 2.0+ перешли

назовите хотя бы два таких дистрибутива

arch: ruby 1.9.3
sid: 1.8.7 и 1.9.3
alt sisyphus: 1.9.3
mageia3: 1.9.3
frugalware-current: 1.9.2
slackware-current: 1.9.3


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено pavlinux , 14-Янв-13 03:24 
>> когда  дистрибутивы массово на руби 2.0+ перешли
> назовите хотя бы два таких дистрибутива
> arch: ruby 1.9.3
> sid: 1.8.7 и 1.9.3
> alt sisyphus: 1.9.3
> mageia3: 1.9.3
> frugalware-current: 1.9.2
> slackware-current: 1.9.3

Ну или 1.9, путаю я их :)


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено GentooBoy , 10-Янв-13 00:13 
Как раз новый honeypot опробуем.

"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено бедный буратино , 10-Янв-13 03:05 
Редмайн обычно старается все косяки rails исправлять, обычно их такие уязвимости не касались. Но я всё равно держу его в чруте, и регулярно обновляю из hg.

А ломание обычно начинают с github. Если github стоит, значит всё нормально. :)


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Andrew Kolchoogin , 10-Янв-13 12:04 
Павлин, а разве последний RedMine уже не требует жёстко 3.0.19?

"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено бедный буратино , 10-Янв-13 12:25 
> Павлин, а разве последний RedMine уже не требует жёстко 3.0.19?

у меня в gemfile написано 3.2.11


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено pavlinux , 14-Янв-13 03:35 
>... требует жёстко 3.0.19?

Да говорю, там зоопарк

Стабильными считаются редмайны - 2.2.1, 2.1.6, 1.4.6
Все 2-ки работают на руби 1.8.4 и 1.9,
1.4.6 - только на 1.8

Мне, пля, повезло, я попал на версию редмайна 2.0, которая супер-пупер мутантская,
сначала работала на 1.8, но все апдейты к ниму тестят на 2.1, и плугины тоже.
.... ,бла-бла-бла....

В общем потихоньку переползаю на 2.1

И ваще, установку редмайна надо начинать с изучения работоспособности всех плугинов!!!
А то, я к примеру, из-за этих плугинописателей, весь ActionMailer перехерачил, теперь
сам боюсь трогать. :)



"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено Andrey Mitrofanov , 14-Янв-13 10:50 
>>... требует жёстко 3.0.19?
> Да говорю, там зоопарк
> Стабильными считаются

Есть такое впечатление, что ребята с рельсами _уверены, что и руби, и рельсы просто _необходимо ставить в домашнюю директорию, при каждом логине на машину обновлять с интернетов все gem-ы (у которых тоже принципиально не бывает стабильных версий/релизов). Это Путь К Успеху. Проверено гламурными ребятами с макбуками.

Это у тебя зоопарк: ты хочешь от них чего-то странного -- "стабильный", "продакшен", "сесьюрити-саппорт".

Одумайся!+:/

> сам боюсь трогать. :)


"В Ruby on Rails обнаружена критическая уязвимость, позволяющ..."
Отправлено pavlinux , 15-Янв-13 01:44 
> Одумайся!+:/

Я что ль придумал его впиндюрить?! Партия сказала - надо, комсомол ответил - есть!