CVE-2026-27820: Уязвимость переполнения буфера в Zlib::GzipReader

Опубликовал hsbt 05-03-2026
Перевел: ablzh

В Zlib::GzipReader существует уязвимость переполнения буфера. Этой уязвимости присвоен CVE идентификатор CVE-2026-27820. Мы рекомендуем обновить гем zlib.

Подробности

Функция zstream_buffer_ungets добавляет байты, предоставленные вызывающей стороной, перед ранее полученным выводом, но не гарантирует, что базовая строка Ruby имеет достаточную ёмкость до того, как memmove сдвинет существующие данные. Это может привести к повреждению памяти, когда длина буфера превышает его ёмкость.

Рекомендуемые меры

Мы рекомендуем обновить гем zlib до версии 3.2.3 или выше. Чтобы обеспечить совместимость с версиями, поставляемыми в комплекте с более старыми сериями Ruby, вы можете выполнить обновление следующим образом:

  • Для пользователей Ruby 3.2: обновите до zlib 3.0.1
  • Для пользователей Ruby 3.3: обновите до zlib 3.1.2

Для обновления вы можете использовать команду gem update zlib. Если вы используете bundler, добавьте gem "zlib", ">= 3.2.3" в ваш Gemfile.

Уязвимые версии

гем zlib 3.2.2 или ниже

Благодарности

Спасибо calysteon за сообщение об этой проблеме. Также спасибо nobu за создание патча.

История

  • Первоначально опубликовано 2026-03-05 09:00:00 (UTC)

Последние новости

Вышел Ruby 3.2.11

Вышел Ruby 3.2.11. В этот релиз вошло обновление гема zlib, устраняющее CVE-2026-27820.

Опубликовал hsbt 27-03-2026

Вышел Ruby 3.3.11

Вышел Ruby 3.3.11. В этот релиз вошло обновление гема zlib, устраняющее CVE-2026-27820, а также некоторые исправления ошибок.

Опубликовал hsbt 26-03-2026

Больше новостей...