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 ()
Последнее исправление: sudopacman (всего исправлений: 3)

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

Если «регулярка» - это не регулярное выражение, то есть уязвимость.

anonymous
()

Я аналогичный пакет как-то в питонпроекте выпиливал.
«Магические» парсеры юзер-инпута в принципе зло.

aidaho ★★★★★
()
Ответ на: комментарий от wandrien

В наше время даже смс-ки на телефоне тюринг полные.

anonymous
()
Ответ на: комментарий от aidaho

Мне кажется, user input это вторая криптография, сам программист не должен писать ее обработку в большинстве случаев, а использовать проверенные решения.

anonymous
()

а че толку. зачем дудосить какое-то говно, сделанное самокатчиками

tz4678 ★★
()
Ответ на: комментарий от anonymous

/pages/<page-title>

<h1>{{тут выводится page title}}</h1>

/pages/%3Cscript%3Ealert(%22XSS!%22)%3C%2Fscript%3E

<h1><script>alert("XSS!")</script></h1>
tz4678 ★★
()

Неужели этот пыхоклон ещё поддерживают.

Ещё и регулярки в почти ядре, ну впрочем ничего удивительного.

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

пыхоклон

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

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

mertvoprog
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.