The OpenNET Project / Index page

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

Обновление Ruby 2.5.1 с устранением уязвимостей

29.03.2018 12:48

Выпущен корректирующий релиз языка программирования Ruby 2.5.1, в котором устранено шесть уязвимостей:

  • CVE-2017-17742 - библиотека WEBrick подвержена подстановке фиктивного ответа через указание символов перевода строки в HTTP-заголовке;
  • CVE-2018-6914 - инициирование создания файлов и каталогов через указание символов "../" в имени префикса временного файла при использовании библиотек tempfile и tmpdir;
  • CVE-2018-8777 - вызов отказа в обслуживании (израсходование доступной памяти) при обработке слишком большого HTTP-заголовка в WEBrick;
  • CVE-2018-8778 - выход за нижнюю границу буфера при обработке специально оформленных данных в String#unpack;
  • CVE-2018-8779 - создание сокета в другом каталоге через указаие нулевого байта (\0) в пути, передаваемом в UNIXServer.open и UNIXSocket.open;
  • CVE-2018-8780 - обработка иных каталогов в Dir.open, Dir.new, Dir.entries и Dir.empty при наличии нулевого символа в пути.


  1. Главная ссылка к новости (https://www.ruby-lang.org/en/n...)
  2. OpenNews: В RubyGems устранено 7 уязвимостей
  3. OpenNews: Выпуск языка программирования Ruby 2.5.0
  4. OpenNews: Обновление Ruby 2.4.2 с устранением уязвимостей
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/48350-ruby
Ключевые слова: ruby
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (18) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.4, X4asd (ok), 14:09, 29/03/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ошибки уровня "дедсад познаёт POSIX API и базовые концепции HTTP"
     
     
  • 2.5, пох (?), 14:16, 29/03/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    какой детсад? ruby вышел из моды еще когда я хотя бы в трудовой писался "программистом"

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

     
     
  • 3.7, Аноним (-), 14:29, 29/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    https://ru.wikipedia.org/wiki/%D0%A8%D0%B8%D0%B7
     
  • 3.19, Аноним (-), 11:04, 30/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    не путайте Руби с питоном и бейсиком
     

  • 1.6, Аноним (-), 14:18, 29/03/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Новость отличная сама по себе, но наверняка будет гудение в комментариях, мол, опять про Ruby.

    То, что Вы не используете этот язык или Вам он не нравится -- не делает его бесполезным или бестолковым.

    У Ruby есть свои задачи, которые он хорошо решает, и не надо, пожалуйста, сюда приплетить Rails -- это как судить про Python только по Django.

     
     
  • 2.8, ыы (?), 15:19, 29/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А может количество Django и Rails-ов это всетаки показатель?
    На php вон CMS как собак не резаных.. а у руби чего? рельсы?
     
     
  • 3.9, Аноним (-), 15:38, 29/03/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нет, не может. Это заблуждение, так как Rails является отдельным продуктом, его качество не означает качество языка: написать хорошо или плохо можно на *любом* языке.

    У Ruby есть другие сильные продукты: Puppet, Foreman, Vagrant. Он прекрасен, как язык язык оркестрации и работы с текстовыми файлами, которым был Perl.

    Могу дать простой совет: никогда не начинать учить/знакомиться с Ruby через Rails, тогда парадигма восприятия будет совсем иной.

     
  • 2.11, Солнышко (??), 17:50, 29/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Перечислите, пожалуйста, задачи, которые хорошо решает Ruby
     
     
  • 3.12, Аноним (-), 18:15, 29/03/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Например:

    1. Работа с текстовыми файлами. Да, в 2018 это до сих пор нужно, раньше это делали через Perl, сейчас это делают либо на Python, либо на Ruby. Первый - тонны конвеншенов и бойлерплейта, несоответствий ООП-принципу, всего этого нет во втором. Именно удобнее, потому что есть такие вещи как полноценный юникод, pack/unpack, итераторы и один из самых мощных regexp-движков onigma, в этом плане разве что Java круче.

    2. Оркестрирование - Puppet, Chef, Vagrant, Foreman все они написаны на Ruby за счёт полноценного, стройного ООП и удобства работы с классами, строгим scope, отсутствием траты значительных ресурсов при обновлении версии языка (даже портирование с 1.9 на 2.4 не вызывает значительных проблем).

    3. Системные скрипты и обёртки, за счёт наличия удобных библиотек по IO, HTTP (HTTParty), GPGME, работы с процессами/тредами.

    4. Прототипирование - быстрый наброс прототипа, который, например, потом будет написан на Go для большей портативности.

    5. Мокапы и временные заглушки - опять же, удобные вещи вроде WEBrick, HTTParty и других в"ысокоуровневых" вещей.

    Сразу оговорюсь, что не готов к дискусии и сравнению и выражаю собственное мнение, сложившееся после использования разных языков. Для всего этого можно использовать язык X, делайте, если Вам лично нравится, но наличие пула инструментов, которые сделаны на Ruby и работают, отрицать нельзя. Попробуйте.

     
     
  • 4.15, _ (??), 18:47, 29/03/2018 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Или всё ещё на Перле Или awk sed Или js Или впиши свой Ёзыг Для рябчико... большой текст свёрнут, показать
     
  • 4.18, Аноним (-), 08:26, 30/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Да в целом, правильно. Руби хорош именно гибким синтаксисом и возможностью создавать на нём специализированные языки предметной области, которые, для не знающих Руби, будут казаться специально разработанными под них. Да и возможности создавать эти языки программирования (DSEL) на локальных языках - само по себе существенное преимущество именно Руби.

    class Numeric
      def куб
        self * self * self
      end
    end

    Math::PI.куб # => 31.006276680299816
    3.куб # => 9


    module Enumerable
      def Σ
        reduce(:+)
      end
    end
    (1..5).Σ # => 15

     
  • 3.14, _ (??), 18:30, 29/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Перечислите, пожалуйста, задачи, которые хорошо решает Ruby

    Он хорошо раннит Rails! Всио. :-)

     

  • 1.10, Некто с Марса (?), 17:19, 29/03/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я не пользуюсь ruby, но иногда поглядываю. Некоторые библиотеки там отличные.
    Начинающим программистам было бы неплохо посмотреть на mechanize, shoez или fxruby. Некоторым может понравиться. Особенно после джавки.
     
     
  • 2.13, _ (??), 18:29, 29/03/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Я не пользуюсь ruby, но иногда поглядываю.

    Какая редкость! :)
    >Некоторые библиотеки там отличные.

    Да. Рельсы. Остальное - онищщще.
    >Начинающим программистам было бы неплохо посмотреть на mechanize, shoez или fxruby.

    Начинающим программистам надо держаться от ребе как можно дальше. Как доктор говорю.
    >Некоторым может понравиться. Особенно после джавки.

    Это может понравится только после Перла, да и то ...

     
     
  • 3.16, Некто с Марса (?), 19:32, 29/03/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Да. Рельсы. Остальное - онищщще.

    Про рельсы как раз не могу сказать ничего. А про fxruby  могу сказать пару тёплых слов. Маленький GUI с отполированными виджетами.Видел ещё с пяток вкусняшек.
    >Начинающим программистам надо держаться от ребе как можно дальше. Как доктор говорю.

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

     
  • 3.20, anonymous (??), 11:47, 30/03/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я писал на Ruby довольно долго перед тем как свалить в функциональщину. Очень даже помогает на практике отполировать основы. А дальше можно валить хоть в Lisp, хоть в Haskell. Ведь к этому моменту будет понимание функций высшего порядка, того что всё является выражением, да и иммутабельность довольно популярна в Ruby-сообществе.
     
     
  • 4.21, Некто с Марса (?), 16:41, 30/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Совершенно верно. Ruby позволяет  новичкам увидеть современные средства программирования. Добавлю сюда ещё такие уже привычные всем итераторы, генераторы(enumerated classes) и замыкания.
    Некоторые API довольно элегантны и лаконичны. Так что польза от него есть.
    Но ограничения языка тоже нужно принимать в расчёт. Это я про  многопоточность и производительность в первую очередь.

     
     
  • 5.22, Аноним (-), 18:51, 30/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Для новичков Руби совсем не годится. В него имеет смысл идти после хотя бы базового понимания других императивных языков.

    В смысле, использовать его можно и новичками, но в форме DSL. А вот серьёзно влезать программировать, лучше уже имея опыт. И уж явно, не для школы этот язык.

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

     

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



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

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