CVE-2026-46727: вразливість use-after-free в обробнику таймауту getaddrinfo на основі pthread
Опублікував hsbt 20-05-2026
Переклав: Andrii Furmanets
В обробнику таймауту getaddrinfo Ruby на основі pthread виявлено вразливість use-after-free. Цій вразливості присвоєно ідентифікатор CVE CVE-2026-46727. Цю проблему виправлено в Ruby 4.0.5. Рекомендуємо оновити Ruby.
Деталі
У шляху скасування таймауту rb_getaddrinfo, який використовується в Addrinfo.getaddrinfo(..., timeout:) та Socket.tcp(..., resolv_timeout:), існує race condition. Віддалений зловмисник, який може затримати 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 за виявлення цієї проблеми. Також дякуємо shioimm за створення патча.
Історія
- Початково опубліковано 2026-05-20 00:00:00 (UTC)
Останні новини
Вийшов Ruby 4.0.5
Вийшов Ruby 4.0.5.
Опублікував k0kubun 20-05-2026
Вийшов Ruby 4.0.4
Вийшов Ruby 4.0.4.
Опублікував k0kubun 11-05-2026
Вийшов Ruby 4.0.3
Вийшов Ruby 4.0.3.
Опублікував k0kubun 21-04-2026
Вийшов Ruby 3.2.11
Вийшов Ruby 3.2.11. Цей реліз містить оновлення gem zlib, яке усуває CVE-2026-27820.
Опублікував hsbt 27-03-2026