Выполнение произвольного кода в Rails

    Вкратце: Rails 2,3 и 4 приложения подвержены выполнению произвольного кода(RCE) без исключения. Шел, чтение и очистка базы данных, все что душе угодно.

    Чуть подробнее. Не так давно многие обратили внимание на то что рельсы по умолчанию принимают не только x-www-form-urlencoded параметры, но и XML/JSON. А XML внутри себя принимает также такой тип данных как YAML:
    <foo type="yaml">
    ...
    </foo>
    
    

    А YAML в свою очередь очень гибкий формат и позволяет создавать инстансы произвольных классов с последующей задачей через [] метод произвольных параметров — например.
    А в свою очередь в огромной классовой архитектуре Rails и сопутствующих джемов можно найти такой класс чтобы во время его инициализации(initialize) или назначения аттрибутов через [] был выполнен произвольный код из этого самого YAML текста.
    Умельцы нашли несколько способов — например через класс ActionDispatch::Routing::RouteSet::NamedRouteCollection
    Статья с описанием на официальном блоге и рекомендации по обновлению.

    P.S. эксплоит в сети вот уже часов 12. эпично. вас предупреждали
    Share post

    Similar posts

    Comments 140

      0
      Это действительно эпично. И печально.
      Я правильно понимаю, об уязвимости теоретически кто-то мог знать давно?

      Сам на Rails не пишу, но использую часто.
        +32
        почти уверен что до 2013 о ней никто не знал. там эпичная цепочка генераторов и мы всем твиттером залезли в psych/params parser только когда искали очередной обход предыдущей CVE. И нашли МИФРИЛ В ГЛУБИНАХ МОРИИ АХАХА
          +2
          Обновление до 3.2.11 решит проблемы?
            +13
            Да. Обновление до django unchained решит уж точно
              +5
              До Django получится graceless degradation, мы так не работаем.
                +7
                Я даже знаю, что открываю ящик Пандоры, но не могли бы знающие и знакомые с обеими технологиями люди обьективно прояснить по хардкору в чем рельсы принципиально лучше и хуже джанго?
                Из чисто научного интереса спрашиваю.
                  +3
                  Научный интерес не способен охватить вопросы предпочтений, иначе жизнь была бы сильно проще и лучше.

                  Лично мне очень не нравятся отступы и ряд других традиций в Python, вроде стиля именования приватных методов. Недавно видел, что Django ругают за то, что к нему сложно прикрутить поддержку нереляционных хранилищ и всякие CKEditor (не проверял эту информацию).

                  Ruby решает поставленные задачи, и решает их очень хорошо. Я говорю в первую очередь не о Web-разработке. Предлагаю закрыть тему, иначе начнётся ад и мусор.
                    +3
                    ты не 'eveel' в тексте нету ни единого «бл*ть»!
                    0
                    А где ruby преуспел кроме веб разработки?
                      0
                      DSL же. Rake, Chef как минимум.
                        –1
                        Chef — да, согласен.
                        +1
                        Можно подумать, что веб-разработка – это какая-то одна задача
                          –1
                          Если перефразировать — Ruby без Rails редко используется.
                            0
                            Много чаще, чем вы думаете.
                              0
                              Ну я сам программист на Rails, не вижу просто ничего на ruby без rails, ни консольных утилит ни демонов/серверов, ни десктопных приложений. Может какие-то и есть, но не в таком количестве как python/perl.
                                0
                                Вообще-то Ruby задумался как альтернатива Perl в Unix-системах. То, что вы не видите, это еще не означает, что этого нет. Многие люди разрабатывают просто на Ruby — почитайте хотя бы официальный форум Ruby.
                                Факт в том, что в самом Ruby заложены очень мощные возможности как самостоятельного скриптового языка.
                                А то, что появился Ruby on Rails еще раз доказывает универсальность и гибкость языка Ruby.
                                И еще один момент. Сколько людей сейчас занимаются разработкой скриптов и демонов, а сколько веб-разработкой… почувствуйте разницу, как говорится.
                                  +1
                                  Я вообще не рубист и не питонист. Ну то есть абсолютно и совсем, но видно, что питон явно используется чаще чем руби, «как альтернатива Perl в Unix-системах»
                                    0
                                    Всему свое время. Очень большую роль играет привычка как таковая. Я вот в свое время скрипты только на Perl писал и ни о каком python не думал.
                                    Сейчас перешел на Ruby и для меня Perl уже не существует, а python как не было так и нет — я в нем АБСОЛЮТНО НИКОГДА не нуждался.
                                    Один лишь раз посмотрел в сторону python ради научного интереса — увидел форматирование с помощью отступов — плюнул и сразу отвернулся.
                                      +1
                                      Ну, наверное, вы — исключение. Я вот регулярно вижу какие-то утилитки на питоне. И никогда — на руби)
                                        0
                                        У меня вообще нет привычки рыться без надобности в системе и высматривать какие-то утилитки — бесполезная трата времени. Для меня ОС — это инструмент, которым я пользуюсь. Один раз правильно настроил и этого достаточно.
                                        Возможно, на Ruby значительно меньше утилит, но он нашел себе более достойное и востребованное применение на просторах Интернет.
                                        И могу сказать совершенно уверенно — Ruby on Rails — очень удобная и качественная система разработки веб-приложений, и я считаю, именно благодаря тому, что написана она на Ruby.

                                        А насчет уязвимостей… покажите мне хоть одну систему, в которой ни разу было не найдено ни одной уязвимости.
                                        Надежность системы характеризуется тем, как быстро реагируют разработчики и исправляют баги.
                                          0
                                          У меня вообще нет привычки рыться без надобности в системе и высматривать какие-то утилитки — бесполезная трата времени. Для меня ОС — это инструмент, которым я пользуюсь

                                          Вы это сейчас к чему сказали то, а? Ну вот просто вообще не понимаю, при чём тут это.

                                          Я лишь говорю о том, что руби нифига не популярный в качестве никсового языка в отличии от питона, а вы тут мне начинаете рассказывать, как вы ОС пользуетесь)
                                            –1
                                            Я уже сказал, что дело времени…
                                              0
                                              Питон — 91й год, Руби — 95й. Правда думаете, что дело в этой разнице в 4 года?
                                                –1
                                                Да, очень вероятно. Дело времени и дело привычки. Кто-то в свое время заметил python и понеслось, а Ruby совсем недавно «вынырнул», кстати, благодаря Rails. Язык должен быть замечен, опробован, тогда его начинают использовать.
                                                Мне вот без разницы, какой язык используется чаще в никсах как скриптовый. Сейчас python, потом другой на смену придет… все так изменчиво в этом мире.
                                                Ну возьмем, к примеру, Perl. Ведь сначала подавляющее большинство сайтов писалось именно на нем. И? Появился PHP и очень просто вытеснил Perl с этой ниши.
                                              0
                                              Я знаю весьма популярный homebrew например…
                                            0
                                            На какой системе сидите?
                                              0
                                              Кубунту
                                                0
                                                Про маковый homebrew не слышали?
                                                  0
                                                  Я не отрицаю, что приложения на руби есть. Я говорю о том, что Питон в качестве скриптового языка в никсах используется значительно чаще руби. Да щас уже Нод.жс используется, наверное, чаще руби.
                                              0
                                              Поддерживаю, ни Руби ни Скала не станут языками для разработки скриптов потому как они элементарно стартуют очень медленно. Никому не нужны такие мучения. А с Питоном таких проблем нету. Только нажал Enter, сразу ответ в консоли.
                                                0
                                                Ээмс. Объясните?

                                                shock@notebook:~$ time python -c "print 123"
                                                123
                                                real    0m0.023s
                                                user    0m0.016s
                                                sys     0m0.004s
                                                
                                                shock@notebook:~$ time ruby -e "print 123"
                                                123
                                                real    0m0.025s
                                                user    0m0.020s
                                                sys     0m0.000s
                                                

                                                  0
                                                  Ну, добавьте пару импортов стандартных гемов и почувствуйте разницу.
                                                  Я пробовал Selenium-тесты запускать под руби и под питоном, питон по-любому быстрее стартовал. Я уже не говорю про юнит-тесты для рейлс, без костылей ими пользоваться просто утомительно.
                                                    0
                                                    # time ruby -e «print 123»
                                                    123
                                                    real 0m0.037s
                                                    user 0m0.010s
                                                    sys 0m0.000s
                                                    # time python -c «print 123»
                                                    123

                                                    real 0m0.016s
                                                    user 0m0.000s
                                                    sys 0m0.010s
                                                    # time perl -e «print 123»
                                                    123
                                                    real 0m0.003s
                                                    user 0m0.000s
                                                    sys 0m0.000s

                                                    0
                                                    Какую ерунду вы говорите! Руби везде используется как скриптовый язык — и все со стартом там нормально.
                                                      +2
                                                      везде используется как скриптовый язык

                                                      Везде — это где?
                                                  –1
                                                  Да это индивидуально всё. Пишу веб приложения на rails, скрипты на perl, и делать наоборот нет никакого желания.
                                              0
                                              Эпическая управлялка portinstall/portupgrade пакетами/портами в FreeBSD написана полностью на руби.
                                              Puppet, Chef тот же уже упоминали. Довольно много утилит, и главное, их очень удобно писать.
                                                0
                                                Итого насчитали 3 штуки.
                                                А есть примеры демонов? Или того что можно запустить в цикле или а-ля xargs и оно будет работать быстро.
                                                Как на счёт деплоя? Пакет ruby 1.8 не совместим с ruby 1.9 в моём дистре.

                                                Про chef у меня подозрение что это отдельной статьёй идёт — DSL — на ruby любят писать DSL (с поводом и без повода), хотя он и в любом другом языке нормально реализуется.
                                                  0
                                                  Bluepill и God — управление демонами. Альтернатива — Monit на Perl.

                                                  В деплое — Chef, Puppet, Capistrano, Vlad the Deployer.

                                                  Даже для Git — Gitlab, git-commit-notifier, Gitorious.
                                                    0
                                                    Ну и касательно DSL, — все-таки на Ruby проще.

                                                    Пишут аналоги RSpec, Cucumber и других популярных Ruby DSL и на других языках, но получается многословнее.
                                        –1
                                        > всякие CKEditor
                                        оО
                                        Это же яваскрипт-редактор, как его может быть сложно прикрутить к чему бы то ни было? (Прикручивал CKEditor и TinyMCE к джанге без каких-либо проблем)
                                    +9
                                    Обновляемся до джанго и через месяц понимаем, что у нас теперь 5 критических уязвимостей.
                                      +3
                                      В джанго никогда не было подобных дыр. С другой стороны сравнивать эти фреймворки по мощности я бы остерегся.
                                        +3
                                        Вы представляете, о рельсах тоже так думали. До сего момента.
                                          +2
                                          Да нет, тут место очевидно. В джанго нет такой гибкости, нет такого количества хелперов и такой заботы о времени программиста. В ней просто меньше возможностей получить дыру с одной стороны, и комьюнити больше думает о таких вопросах с другой.

                                          Ну что ж, теперь у нас есть ребята, которые озаботились вопросом поиска дыр в RoR, спасибо.

                                          А главное не теряйте фокус — я джанго не люблю, и не принижаю рельсы на фоне — ну нашли, пофиксили, работаем дальше. На джанго достаточно геморно решаются многие повседневные задачи, и админка ее мусор. И шаблоны. И формы. И ORM.
                                            0
                                            Это только постфактум стало очевидно. Через много лет.
                                        +1
                                        На время, пока ты и до него не доберешься? %)
                                      +25
                                      Хомяков! Хватит ломать интернет! :)
                                        +2
                                        а чё я то, петька иванов charliesome первый начал. а серега белов ben murphy вообще под все платформы написал
                                          +3
                                          ^ ^
                                            +1
                                            хахах, всплыло это имя+фамилия))
                                        +1
                                        Егор, мы знали, что без тебя это не могло обойтись! Ты большой молодец, что находишь эти дыры и репортишь разработчикам.

                                        Скажи пожалуйста, у тебя только на Rail глаз наметан, или ты еще где-то проблемы ищешь? Интересуют Socket.io, Django и Express.
                                          +1
                                          никаких Socket.io, Django и Express только Rails. Я — патриот
                                      +4
                                      Решето... Комменты в оффициальном блоге доставляют.
                                        +7
                                        понеслась…
                                        image
                                          +4
                                          я делаю `touch homakov_at_gmail_com_hire_me_plz_i_can_Fix_dat
                                            –4
                                            Скрипткиддис
                                              +4
                                              Скрипткиддис — это мое второе имя
                                                +4
                                                Оставил машину, возвращаешься, а там разбито окно и внутри кирпич с запиской: «homakov_at_gmail_com_hire_me_plz_i_can_Fix_dat».
                                                Толи хулиганство, толи вымогательство.
                                                Не понимал и не понимаю подобные выходки. Если приписываешь себя к экспертам по безопасности, подобное — это низко.

                                                А по природе этого шума — все как обычно, в погоне за упрощением конфигурации в угоду новичкам, включили все ненужное и отключили все нужное. Было бы не так, таких ужасных масшабов у этой уязвимости бы не было. Но тогда быть может и о рельсах никто бы не слышал :)
                                                  –1
                                                  мсье не распознал шутки? делать мне нехер скрипткидничать
                                            +40
                                            Абсолютная уязвимость. Все версии. Все полномочия. Просто шедевр. Браво!
                                              –1
                                              Не все. В RoR < 2.0 уязвимости нет :)
                                                +1
                                                Все актуальные ;)
                                                  –1
                                                  Простите — 2.3.10 — актуальна?
                                                    0
                                                    ВСЕ
                                                      0
                                                      Я знаю, что в 2.3.10 уязвимость, я говорю, эта версия как фреймворк вообще актуальна сейчас?
                                                        0
                                                        Писать на вторых рельсах что-то новое никому не взбредет, разве что поддерживать уже готовый сайт.

                                                        Или вы вообще не в курсах?:) 8 января как раз таки 3.2.11 вышла, а четвертые рельсы в активной разработке.
                                                          0
                                                          Эм, простите, что возможно ввел вас в заблуждение своим вопросом. Я вкурсе. Я к тому, что половино, того что пишется под рельсы так сказать third-party уже под вторые не работает. Мой гем, которому уже 1 год примерно вообще не писался под вторые рельсы и впринципе там работать не может.
                                                          +2
                                                          Она имеет место быть на продакшенах)
                                                            0
                                                            Мне кажется только ленивый еще не переехал.
                                                              +5
                                                              Ну причины могут быть разными)) «Работает — не мучай»
                                                                –10
                                                                Ну, вы знаете, Windows 98, Gentoo, Mac Os IX тоже ведь работают да?
                                                                  +6
                                                                  Вы так говорите, будто это что-то плохое ;)
                                                                    –2
                                                                    Перфокарты и накопители на магнитных дисках тоже были когда-то удобным изобретением и я с трепетом вспоминаю те дни, но их как-то уже не видно ведь правильно. Это не что-то плохое, просто есть что-то более новое и современное.
                                                                    +12
                                                                    а при чём тут gentoo?
                                                                      +1
                                                                      Это перечислены операционки из ночных кошмаров.
                                                                        +1
                                                                        Гентушники оскорблены?
                                                      –2
                                                      там что то типа 1.2.1 непомню. Уязвимость появилась 6 лет назад )

                                                      Браво? Я теперь отвожу глаза когда люди говорят про rails security. хотя еще пару недель назад я бы начал доказывать что XSS защита, CSRF защита блабла(
                                                        +4
                                                        Ну и что? Все точно также говорили про самый защищенный форум IPB! А только я там нашел две 0day бреши.
                                                        Ошибки есть везде! Надо их только искать и то что в последнее время столько усилий уделяется Rails Security — это очень хорошо! Чем больше уязвимостей найдено, тем вероятнее меньше будет в продакшене.
                                                          +1
                                                          Где это говорили про защищенность IPB? В каждой версии уязвимости.
                                                          0
                                                          Теперь можно делать тоже самое, но с поправкой на версию =)
                                                          Тут вспоминается предыдущая статья на эту тему, где было указано как отключить обработку всего кроме www-forms, так что думаю затронет большенство, но не пароноиков =)
                                                        +2
                                                        А что эпичного в том, что эксплойт доступен 12 часов, если исправление выпущено 48 часов назад?
                                                          0
                                                          может в том что не все читают хакер ньюс и даже 50 процентов эппов сейчас не обновились? Я думаю кроме топовых рельс ресурсов никто особо не пошевелился
                                                            0
                                                            Не все, конечно. Но есть ведь ещё weblog.rubyonrails.org :)
                                                              +2
                                                              Ни и плевать на эти 50%. Если в Windows находят что-то типа уязвимости в RPC dcom вам, как админу, не плевать на то, что остальные 90% не ваших пользователей подвержены риску? Мне было бы как-то абсолютно.
                                                              Если ты серьезный Developer — ты следишь за новостями. Меня вообще очень сильно поразило то, что для 2й ветки выпустили обновление.
                                                                +2
                                                                Но, но! Я уже обновил половину своих приложений (самых выставленных в мир)!
                                                                Самое обидное — одновременно с такими важными обновлениями выходит обновление какого-нибудь гема (в данном случае whenever 0.8.1), которое ломает что-нибудь до кучи и начинаешь с весельем одно обновлять, другое откатывать, писать в багтрекер третьего :-)
                                                                  0
                                                                  рекомендую фиксировать в таких случаях версию гема через "~> version" пока он не доломан обновлением :)
                                                                –1
                                                                а любой, самый застарелый сервачок с рельс эппчиком == шел. можно нафигачить кучу лома и продать
                                                                  +22
                                                                  Эпично то, что люди узнают об этом на хабре.
                                                                    –14
                                                                    Ссори, нет кармы, но, как вы правы!
                                                                      –11
                                                                      Ой, ну простите, давайте вообще карму сольем, что бы я вообще никогда никому плюсков не понаставил не дай Бог. Неадекватная у вас реакция, простите!
                                                                        +1
                                                                        Прощаем, че.
                                                                      0
                                                                      В твиттере уже как 7-8 дней (в зависимости от пояса) весит.
                                                                        0
                                                                        И все уважающие себя компании давно залатались уже сами без ожидания апдейта рельсов. А потом сделали пул реквест на апдейт рельсов. То, что вы не в состоянии поправить уязвимость в, О Боже, OpenSource проекте совсем не делает вам чести.
                                                                        +16
                                                                        Вчера мой хостер прислал письмо про это:
                                                                        Вы получили это письмо, потому что один или несколько ваших проектов используют Ruby on rails.

                                                                        В этом популярном фреймворке была найдена уязвимость, которая позволяет выполнить любой код в контексте вашего приложения простым POST-запросом. Например, удалить всю информацию из таблицы базы данных без какой-либо проверки прав доступа. Подробнее об этой уязвимости можно прочитать в статьях на open.net и в блогах metasploit. Уязвимость получила название CVE-2013-0156.

                                                                        В качестве экстренной меры мы заблокировали отправку POST-запросов с XML-содержимым для всех Rails проектов, размещенных на наших серверах. Однако, такая блокировка не гарантирует безопасность ваших проектов, а лишь блокирует очевидный способ эксплуатации уязвимости.

                                                                        Разработчики Ruby on rails оперативно выпустили обновление безопасности для всех версий RoR, начиная с 2.3. Вам следует незамедлительно обновить версию фреймворка до 3.2.11, 3.1.10, 3.0.19, 2.3.15 или старших, в зависимости от ветки, которую вы используете.

                                                                        После обновления вы можете отключить блокировку CVE-2013-0156 на уровне прокси в настройках проекта.

                                                                        Напоминаем вам, что вы несете персональную ответственность за любые данные, размещенные вами на наших ресурсах, в том числе и за регулярную проверку на уязвимости вашего кода.
                                                                          +3
                                                                          Так самое ж интересное, имя хостера: где оно? :)
                                                                            +3
                                                                            locum.ru — уже сказал им спасибо в твиттере.
                                                                        0
                                                                        Возможно, что доступно это много дольше уже.
                                                                        Просто не все специалисты сторонники full disclosure.
                                                                        Кто-то спокойненько в течение ряда лет сливал базы с разных сайтов.
                                                                        Теперь дыра закроется.
                                                                        Как вариант, вполне может быть, что эта дыра была введена в код намеренно :)
                                                                          +1
                                                                          Новая теория заговора? :)
                                                                          Ruby on Rails — фреймворк зла.
                                                                          Ruby — само зло.
                                                                          Rubyists — апологеты зла.
                                                                          37signals — кузница зла!
                                                                            0
                                                                            Я лет 15 назад выкладывал дыры публично — отсылал к Касперскому и производителям. Потом один чел меня от этого отговорил — переубедил в другую политику безопасности. Некоторы зарепорченные мною дыры, в т.ч. у Каспера, до сих пор не пропатчены :) В общем, нечего делать бесплатную работу за тех, кто продает скареваре типа Каспера и других все равно нифига не помогающих пвсевдо-антивирусов. Максимум, если добрая душа, то писать производителю — без публичных эксплоитов.
                                                                              0
                                                                              Rails не зарабатывает на этом ничего…
                                                                                0
                                                                                Ну и бог с ним. Просто знаю примеры реальной жизни. Когда в репозитарий вводились дыры специально для последующих атак.
                                                                        +1
                                                                        Блин, это то же самое, что писать:
                                                                        eval params[:code]
                                                                        
                                                                        Когда уже разрабы поймут, что писать секьюрно, это значит проверять валидность foreign input.
                                                                        Без разницы каким способом. Всякие XSS/CSRF и со фильтры помогут в лучшем случае до следущей найденой vulnerability, типа приведенной в статье.
                                                                        Сам на релсах пишу редко, но используя «чужой» xml в этом случае, либо поотключал бы нафиг все что может загрузить любой не предусмотреный мной класс (тот же yaml если оно не надо), либо использовал бы template для десериалезации (т.е. десериализируем в пустой инстанц класса/интерфейса, все что им не предусмотрено идет лесом или вылетает с исключением).
                                                                        Простой parse xml делаем только если оно наше, или xml пришел из источника с уровнем доверия > 100500.
                                                                          +3
                                                                          Никогда по запарке не оставляли ничего такого в коде?
                                                                          И когда уже люди поймут, что Open Source он на то и Open Source, что — не нравится — измени. Ты же знаешь как лучше — помоги любимому проекту, не останься в стороне.
                                                                            0
                                                                            К foreign input отношусь всегда оч. серьезно. Думаю поэтому не оставлял (хотя 100% даже бог не даст:).
                                                                            Насчет помоги, у меня таких проектов тьма, любимый Tcl и co, т. ч. с этим не ко мне.
                                                                            Но ваш посыл в принципе верный. Еще бы знать, где рыть — а то шерстить несколько десятков тысяч строчек в поисках уязвимостей — то еще удовольствие. Вот тот кто коммитил это, мог бы и подумать насчет уязвимостей. И по запарке — это не оправдание для проъекта с огромной коммюнити и десятками разрабов.
                                                                              0
                                                                              Это к слову сказать не оправдание для комьюнити (меня в частности), а ошибаются все. И не все сразу становятся такими прям опытными программистами. К foreign input вы вероятно начали серьезно относиться с какого-то опеределенного времени. Не реально что бы вы сразу стали учитывать этот фактор в своих программах — на начальных этапах совсем об этом не задумываешься, а так как ошибка весьма и весьма старая, то могу сказать, что Rails тогда не набрала такой критической популярности как сейчас. Оттого и малый интерес со стороны хакеров к ней был.
                                                                              И еще — если всегда отвлекаться на все сопутствующие вероятностные факторы, то можно улезть в такие дебри, так и не завершив свой проект.
                                                                                0
                                                                                И еще — если всегда отвлекаться на все сопутствующие вероятностные факторы, то можно улезть в такие дебри, так и не завершив свой проект.
                                                                                Это да, очень знакомо…
                                                                                0
                                                                                /offtop
                                                                                всегда было интересно, что заставляет людей сокращать слово «очень».
                                                                                  0
                                                                                  нехватка времени + невозможность интерпретировать это сложившееся сокращение по другому. Много раз замечал за собой и другими так же и произношение его.
                                                                            +1
                                                                            Rails 4 при чем? Он то как раз выйдет секьюрным (от этой дыры как минимум).
                                                                              +3
                                                                              Уже сейчас многие используют в продакшене 4-е рельсы.
                                                                                0
                                                                                Многие, это кто? Они ж вроде в глубокой бете ещё. Да и гемы не все их поддерживают. Я бы поостерёгся, наверное…
                                                                                  0
                                                                                  gist.github.com, 37signals новый basecamp на нём вроде пилят тоже. Сейчас поищу тот твит…

                                                                                  Вот: twitter.com/dhh/status/287223713252913152

                                                                                  И там же в комментариях говорят, что gist'ы тоже уже на 4-х рельсах.
                                                                              –6
                                                                              Может пора мигрировать на другой Ruby фреймворк?
                                                                              Самый популярный не обязательно значит самый лучший.
                                                                                +5
                                                                                Use sinatra, luke! :) На самом деле, патч выпустили очень быстро, и это радует.
                                                                                  –4
                                                                                  Неужели мир Ruby фреймворков настолько о г р а н и ч е н?
                                                                                    +3
                                                                                    Ну, десяток точно наберется: accidentaltechnologist.com/ruby/10-alternative-ruby-web-frameworks/

                                                                                    Просто дело в том, что sinatra и rails гораздо удобнее (для меня) всего, с чем я работал ранее (yii, zend, django).
                                                                                      0
                                                                                      Спасибо, вопрос был риторическим…
                                                                                      А статья сильно отдаёт нафталином … :)
                                                                                      +3
                                                                                      Так вот кого радует фрагментация линукса.
                                                                                  +1
                                                                                  С этим обновлением появилась такая вот проблема: github.com/rails/rails/issues/8832
                                                                                    –1
                                                                                    кстати баг [1,nil] я зарепортил и у него очень мало способов применения(только пост) поэтому имхо вообще зря фиксили
                                                                                    0
                                                                                    У меня есть сайт на rails 2.3.2, я так понимаю, на нем уязвимость отсуствует? (я не программист, поэтому могу не понимать тонкости)
                                                                                      +1
                                                                                      Присутствует. Обновитесь до 2.3.15
                                                                                        0
                                                                                        echo "ActionController::Base.param_parsers.delete(Mime::XML)" >> RAILS_DIR/config/environment.rb
                                                                                          0
                                                                                          эм… если это способ решения проблемы — можно это сделаете вы, а я вам, например, какую-нибудь книжку с Озона отправлю?
                                                                                            0
                                                                                            Напиши в личку
                                                                                      • UFO just landed and posted this here
                                                                                          +4
                                                                                          При чем тут руби?
                                                                                            +1
                                                                                            Действительно. Во многих языка сборка/деплой пакета предполагает выполнение произвольного кода.
                                                                                              +12
                                                                                              Руби ни при чём, но автор аццкая сотона ;)
                                                                                              • UFO just landed and posted this here
                                                                                                  0
                                                                                                  IMHO автор комментария имел ввиду, что Ruby не есть Rails. Поэтому говорить что Ruby — решето, по крайней мере бред.
                                                                                                0
                                                                                                хероку уж точно решето. я в них находил CSRF вида aaa.heroku.com?rename=bbb надо было просто заставить владельца аппа посетить и его приложение переименуется
                                                                                                и вот вчера была статья на ХН про баг в востановлении пароля(можно любому юзеру восстановить)
                                                                                                heroku stuff? и даже никакого баунти? а вот деньги нанимать матза у них есть значит

                                                                                                и наконец мой друган и пендосии тоже секурянт по рельсам нашел интересную уязвимсть
                                                                                                titanous.com/posts/vulnerabilities-in-heroku-build-system
                                                                                                • UFO just landed and posted this here
                                                                                                  0
                                                                                                  Очень интересно, но почему не отдельный пост?
                                                                                                  • UFO just landed and posted this here
                                                                                                  0
                                                                                                  Опубликовал краткую выжимку по поводу уязвимости в Rails
                                                                                                    0
                                                                                                    Обновил рельсы, поймал уйму странных багов, в том числе undefined method `to_i`
                                                                                                    В итоге замена в Gemfile
                                                                                                    gem 'rails', '3.2.11'
                                                                                                    на
                                                                                                    gem 'rails', :git=>'git://github.com/rails/rails.git', :branch => '3-2-stable'
                                                                                                    решила мои проблемы.

                                                                                                    Only users with full accounts can post comments. Log in, please.