А именно:
-
CVE-2022-28738: двойное высвобождение памяти в регулярных выражениях. Проявляется на специально созданных входных строках. Хоть в целом и не следует создавать регулярные выражения из строк, полученных из недоверенных источников — уязвимость подтверждена и исправлена. Затронутые ветки: 3.0 и 3.1, ветки 2.6 и 2.7 не затронуты.
-
CVE-2022-28739: чтение данных за пределами буфера при конвертации строк в числа с плавающей точкой. Присутствует во внутренней функции, использующейся, например, в
Kernel#Float
иString#to_f
. Обычно приводит к ошибке сегментации и краху процесса, но в определённых условиях может использоваться для чтения памяти за пределами буфера. Затронуты ветки 2.6, 2.7, 3.0 и 3.1.
Спасибо piao за обнаружение уязвимостей.
Также следует отметить, что, начиная с этих выпусков, поддержка ветки 2.6 прекращается и исправлений новых уязвимостей не будет — возможны исправления только очень серьёзных регрессий. Ветка 2.7 же переходит из фазы полноценной поддержки в фазу обновлений безопасности, которая будет длиться год. Рекомендуется уже сейчас начать перевод проектов на использование версий Ruby 3.0 или 3.1.
Скачать:
>>> 3.1.2
>>> 3.0.4
>>> 2.7.6
>>> 2.6.10