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 3.2.11

Вийшов Ruby 3.2.11. Цей реліз містить оновлення gem zlib, яке усуває CVE-2026-27820.

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

Більше новин...