The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Обновление Ruby 2.6.5, 2.5.7 и 2.4.8 с устранением уязвимостей

01.10.2019 21:58

Сформированы корректирующие релизы языка программирования Ruby 2.6.5, 2.5.7 и 2.4.8, в которых устранены четыре уязвимости. Наиболее опасная уязвимость (CVE-2019-16255) в стандартной библиотеке Shell (lib/shell.rb), которая позволяет осуществить подстановку кода. В случае обработки полученных от пользователя данных в первом аргументе методов Shell#[] или Shell#test, используемых для проверки наличия файла, атакующий может добиться вызова произвольного Ruby-метода.

Другие проблемы:

  • CVE-2019-16254 - подверженность встроенного http-сервера WEBrick атаке по разделению ответов HTTP (если программа подставляет непроверенные данные в HTTP-заголовок ответа, то через вставку символа перевода строки можно разделить заголовок);
  • CVE-2019-15845 подстановка нулевого символа (\0) в проверяемые через методы "File.fnmatch" и "File.fnmatch?" файловые пути, может быть использована для ложного срабатывания проверки;
  • CVE-2019-16201 - отказ в обслуживании в модуле Diges-аутентификации для WEBrick.


  1. Главная ссылка к новости (https://www.ruby-lang.org/en/n...)
  2. OpenNews: В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код
  3. OpenNews: Зафиксирована подстановка вредоносного кода в Ruby-пакет Strong_password
  4. OpenNews: Выпуск языка программирования Ruby 2.6.0
  5. OpenNews: Атака на системы фронтэнд-бэкенд, позволяющая вклиниться в сторонние запросы
  6. OpenNews: В Ruby-библиотеке bootstrap-sass выявлен бэкдор
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/51598-ruby
Ключевые слова: ruby
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (23) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 22:04, 01/10/2019 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     

  • 1.3, Аноним (3), 22:31, 01/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > языка программирования Ruby 2.6.5, 2.5.7 и 2.4.8

    У меня чего-то в глазах зарябило: это все разные языки, или это версии языка? Тогда какого черта их столько перечислено?? (Вопрос риторический, я догадываюсь, какой будет ответ).

     
     
  • 2.7, Аноним (2), 22:49, 01/10/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    язык один, интерпретатор и stdlib разных версий.
    >Тогда какого черта их столько перечислено??

    потому что они кроме беты еще 3 ветки поддерживают https://www.ruby-lang.org/en/downloads/branches/

     

  • 1.4, phpmonkey (?), 22:34, 01/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    > В случае обработки полученных от пользователя данных в первом
    > аргументе методов Shell#[] или Shell#test,
    > используемых для проверки наличия файла

    завидуют, неудачники, нашему прекрасному phar.
    Но получилась бледная копия, малопригодная для практического использования.

     
  • 1.5, гуси (?), 22:47, 01/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Его вообще для чего-то, кроме как для Rails используют?
     
     
  • 2.8, Аноним (1), 23:26, 01/10/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Подозреваю, что для поддержки нео-легаси, возникшего на этапе агрессивного хайпа этого самого руби. Перспектив у языка нет.
     
     
  • 3.9, Аноним (9), 01:50, 02/10/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    однако гитлэб написан на нём, и переписыывать не собираются.
     
     
  • 4.11, Аноним (1), 05:23, 02/10/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > однако гитлэб написан на нём, и переписыывать не собираются

    Это и есть определение слову "легаси".

     
  • 3.10, Анонимчжан (?), 02:49, 02/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    недавно видел несколько скриптов на нем в линухе. в /bin и /usr/bin. но их мало. я так легко интересовался и получается, что кроме райлс он нафиг нигде особо не нужен. поясните если ошибаюсь.
     
     
  • 4.12, Аноним (12), 08:58, 02/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    См. скрипты в OpenSUSE
     
  • 4.21, slk (??), 17:39, 03/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Для автоматизации в основном. Или там, где нужно сделать что-то вроде DSL ... опять же, для автоматизации чего-то.
    Chef, Puppet, Vagrant, Terraform, Travis CI, YaST, Sidekiq и т.п. Ruby используют OpenNebula, CloudFoundry
     
  • 2.13, Аноним (13), 09:16, 02/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну да, для написания драйверов, видеокодеков и майнеров криптовалют подходит слабо :)

    А для систем вида "возьми данные здесь, сделай из них HTML или JSON и отдай" вполне годен.

    Например взять данные из чьего либо API и положить в свою локальную БД.
    Реализовать API для доступа к своим данным.

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

    Конечно покушать ОЗУ и ЦПУ любит больше чем компилируемые языки, но так было всегда и со всеми :)

    А еще комьюнити вокруг языка непривычно доброжелательное, но это сугубо моё ИМХО.

     
     
  • 3.15, asand3r (ok), 10:45, 02/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так-то Питон для этого всего тоже отлично подходит и он более популярен и комьюнити шире.
     
     
  • 4.16, Аноним (16), 11:42, 02/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Только язык не очень, ага. Вам знакома такая штука как вкусовщина?
     
     
  • 5.17, asand3r (ok), 12:24, 02/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я не особо разработчик, не могу сравнивать кто из них очень или не очень.
     
  • 4.18, Аноним (13), 13:26, 02/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У английского языка тоже комьюнити шире, но это не мешает существовать русскому.

    У руби есть отличия, которые замечаешь когда переключаешься с него на пайтон :)

    Например.
    Блок кода - конструкция которую можно передать при вызове функции.
    Она похожа на пайтоновую lambda не ограничивается одним выражением.
    но это вторично.


    Самое интересное это то что здесь используют вещи которы другие записали в антипаттерны.

    Например некоторые модули расширяют поведение базовых классов.

    В Rails конструкция 7.days.ago отработает вернет дату и время (7 суток назад) потому что в класс Integer (а 7 это объект Integer) были добавлены методы.

    Это (сама возможность расширять базовые классы) наврное может превратить работу над крупным проектом в ад, но при здравом подходе вполне удобно.

     
     
  • 5.19, нех (?), 13:34, 02/10/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    не отработала. как и ожидалось - undefined method 'day'
     
     
  • 6.20, Аноним (20), 15:17, 02/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Там ключевое слово "в Rails". В простом irb это работать не будет
     
  • 3.22, Аноним (22), 18:59, 03/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >А для систем вида "возьми данные здесь, сделай из них HTML или JSON и отдай" вполне годен. Например взять данные из чьего либо API и положить в свою локальную БД. Реализовать API для доступа к своим данным.

    Это задачи из разряда hello world. Их можно реализовать на любом современном ЯП. В компаниях этим языком станет тот на котором написаны основные проекты и, с большой вероятностью, это будет не Руби.

     
     
  • 4.23, Аноним (13), 13:10, 04/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Это задачи из разряда hello world.

    Задачи из разрада "Hello World" обычно используют для демонстрации синтаксиса языка, никакого
    прикладного применения не подразумевается. Я же говорил про относительно простые задачи часто приносящие пользу бизнесу.
    Можно их отнести к "однострочникам", и я бы сказал что это их преимущество.

    > Их можно реализовать на любом современном ЯП.

    Их можно делать и на языках которые никто ужа давно не назовет современными :)
    Но при использовании многих из языков, эти программы сразу перестанут быть "однострочниками".
    Код на руби может быть и понятен, и лаконичен, а может не быть :)

    > В компаниях этим языком станет тот на котором написаны основные проекты и, с большой вероятностью, это будет не Руби.

    Да. Если смотреть на вопрос "статистически"...
    Скорее всего реазизуют на JavaScript.
    ТЗ будет на английсоком или на одном из наречий китайского.
    Редактор/IDE будет работать под виндой.
    и еще можно кучу придумать "наиболее вероятного"

    Всегда есть тренды, но не надо их рассматривать как единственно верное решение во всех ситуациях.
    (я вот не китаец, хотя это и в тренде)

    Есть ниши где руби удобен и неплохо обосновался и этого достаточно чтобы мотивировать разрабочиков на поддержку старых версий, разработку новых, а еще поддержку кучи компонентов.

     

  • 1.6, Аноним (6), 22:48, 01/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    А новые уязвимости добавили? Чтобы после было чего исправлять.
     
     
  • 2.14, dotgggff (?), 09:22, 02/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    да что за люди то такие! все у них на живуличку, на ниточку! устранимая уязвимость .. тфу.
    не чего сделать нормально не могут .. не что бы неустранимую уязвимость как интел запилить .. любители блин
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру