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
Вышел Ruby 4.0.2
Вышел Ruby 4.0.2.
Опубликовал k0kubun 16-03-2026
Вышел Ruby 3.4.9
Вышел Ruby 3.4.9.
Опубликовал nagachika 11-03-2026