diff --git a/ru/news/_posts/2026-05-20-getaddrinfo-cve-2026-46727.md b/ru/news/_posts/2026-05-20-getaddrinfo-cve-2026-46727.md new file mode 100644 index 0000000000..3ce8c08301 --- /dev/null +++ b/ru/news/_posts/2026-05-20-getaddrinfo-cve-2026-46727.md @@ -0,0 +1,38 @@ +--- +layout: news_post +title: "CVE-2026-46727: Use-after-free в обработчике таймаута getaddrinfo на базе pthread" +author: "hsbt" +translator: "ablzh" +date: 2026-05-20 00:00:00 +0000 +tags: security +lang: ru +--- + +В обработчике таймаута `getaddrinfo` на базе pthread в Ruby была обнаружена уязвимость use-after-free. Этой уязвимости присвоен CVE идентификатор [CVE-2026-46727](https://www.cve.org/CVERecord?id=CVE-2026-46727). Эта проблема была исправлена в Ruby 4.0.5. Мы рекомендуем обновить Ruby. + +## Детали + +Состояние гонки (race condition) существует в механизме отмены таймаута `rb_getaddrinfo`, используемого `Addrinfo.getaddrinfo(..., timeout:)` и `Socket.tcp(..., resolv_timeout:)`. Удаленный злоумышленник, который может задержать DNS-ответы до истечения указанного таймаута, может вызвать разыменование освобожденной памяти процессом Ruby и его аварийное завершение. + +## Рекомендуемое действие + +Пожалуйста, обновите Ruby до версии 4.0.5 или более поздней. + +## Временное решение + +Если вы не можете выполнить обновление немедленно, избегайте передачи `timeout:` в `Addrinfo.getaddrinfo` и `resolv_timeout:` в `Socket.tcp`. + +## Затронутые версии + +* Ruby с 4.0.0 по 4.0.4 +* Ruby 4.1.0-dev (master) до исправления + +Серия Ruby 3.4 и более ранние версии не затронуты. + +## Благодарности + +Благодарим [cantina-security](https://hackerone.com/cantina-security) за обнаружение этой проблемы. Также благодарим [shioimm](https://github.com/shioimm) за создание патча. + +## История + +* Впервые опубликовано 2026-05-20 00:00:00 (UTC) diff --git a/ru/news/_posts/2026-05-20-ruby-4-0-5-released.md b/ru/news/_posts/2026-05-20-ruby-4-0-5-released.md new file mode 100644 index 0000000000..2d72197dd6 --- /dev/null +++ b/ru/news/_posts/2026-05-20-ruby-4-0-5-released.md @@ -0,0 +1,52 @@ +--- +layout: news_post +title: "Вышел Ruby 4.0.5" +author: k0kubun +translator: "ablzh" +date: 2026-05-20 00:12:20 +0000 +lang: ru +--- + +Вышел Ruby 4.0.5. + +В этот релиз вошло только исправление уязвимости +[CVE-2026-46727: Use-after-free в обработчике таймаута getaddrinfo на базе pthread](/ru/news/2026/05/20/getaddrinfo-cve-2026-46727/) +и исправление регрессии системы сборки в Ruby 4.0.4 при использовании локали C [[Bug #22065]](https://bugs.ruby-lang.org/issues/22065). + +Подробности можно найти в [заметках о релизе на GitHub](https://github.com/ruby/ruby/releases/tag/v4.0.5). + +## График релизов + +Мы планируем выпускать последнюю стабильную версию Ruby (в данный момент Ruby 4.0) каждые два месяца после последнего обычного релиза. Ruby 4.0.6 выйдет в июле, 4.0.7 в сентябре и 4.0.8 в ноябре. + +Если возникнут изменения, существенно влияющие на пользователей, релиз может состояться раньше запланированного срока, и последующий график может быть соответствующим образом скорректирован. + +## Скачать + +{% assign release = site.data.releases | where: "version", "4.0.5" | first %} + +* <{{ release.url.gz }}> + + SIZE: {{ release.size.gz }} + SHA1: {{ release.sha1.gz }} + SHA256: {{ release.sha256.gz }} + SHA512: {{ release.sha512.gz }} + +* <{{ release.url.xz }}> + + SIZE: {{ release.size.xz }} + SHA1: {{ release.sha1.xz }} + SHA256: {{ release.sha256.xz }} + SHA512: {{ release.sha512.xz }} + +* <{{ release.url.zip }}> + + SIZE: {{ release.size.zip }} + SHA1: {{ release.sha1.zip }} + SHA256: {{ release.sha256.zip }} + SHA512: {{ release.sha512.zip }} + +## Комментарий к релизу + +Многие коммиттеры, разработчики и пользователи, присылавшие сообщения об ошибках, помогли нам подготовить этот релиз. +Благодарим их за вклад.