LINUX.ORG.RU

CVE-2021-41817: DoS-уязвимость обработки дат в Ruby

 , , , ,


0

1

Выпущены обновлённые версии 3.2.1, 3.1.2, 3.0.2 и 2.0.1 гема date, содержащие исправление безопасности, связанное с уязвимостью типа ReDoS (отказ от обслуживания в регулярных выражениях) в методах разбора дат. С её помощью можно совершить реальную DoS-атаку.

Подробности

Методы разбора дат гема date, включая Date.parse, используют внутри регулярные выражения, некоторые из которых уязвимы перед ReDoS-атакой. Могут быть затронуты приложения и библиотеки, которые применяют эти методы к недоверенным входным данным.

Исправление вместо изменения регулярных выражений просто ограничивает длину входной строки по умолчанию 128 байтами — поскольку регулярных выражений в этом геме используется много и не исключено наличие ещё не обнаруженных уязвимостей подобного рода в остальных регулярных выражениях. Для совместимости можно убрать ограничение передачей значения nil в аргументе limit (например, Date.parse(str, limit: nil)), но имейте в виду, что разбор в таком случае может занять много времени.

Рекомендуется обновить гем до указанных или более поздних версий. Это можно сделать командой gem update date. Если вы используете Bundler — добавьте в Gemfile строку gem "date", ">= 3.2.1".

Затронутые версии гема date

  • 2.0.0 и ранее (поставляются с веткой Ruby 2.6);
  • 3.0.1 и ранее (поставляются с веткой Ruby 2.7);
  • 3.1.1 и ранее (поставляются с веткой Ruby 3.0);
  • 3.2.0 и ранее.

Спасибо svalkanov за обнаружение уязвимости.

>>> Источник



Проверено: cetjs2 ()

Ответ на: комментарий от firkax

пыхоклон

Перлоклон скорее. Это ж и в названии отражено. Так что он пыху скорее сиблинг, ибо пых — тоже перлоклон (а в последние годы уверенно катится в жабоклон).

Причём руби в своё время знатно подхлестнул развитие мейнстримных языков в сторону синтаксического сахарка, так что не надо тут.

mertvoprog ()