Разработчики Ruby on Rails исправили критическую уязвимость в Active Storage. Проблема позволяла неаутентифицированному атакующему загрузить специально подготовленное изображение и прочитать произвольные файлы, доступные процессу приложения. Также уязвимость могла использоваться для удаленного выполнения кода.
Разработчики Ruby on Rails исправили критическую уязвимость в Active Storage. Проблема позволяла неаутентифицированному атакующему загрузить специально подготовленное изображение и прочитать произвольные файлы, доступные процессу приложения. Также уязвимость могла использоваться для удаленного выполнения кода.
Уязвимость, которую независимо обнаружили специалисты компаний Ethiack и GMO Flatt Security, получила идентификатор CVE-2026-66066 (9,5 балла по шкале CVSS) и позволяла злоумышленникам извлекать переменные окружения, secret_key_base, мастер-ключ Ruby on Rails, пароли от баз данных, учетные данные облачных хранилищ и API-токены.
Подчеркивается, что баг угрожает только тем приложениям, которые используют библиотеку libvips для обработки изображений через Active Storage и принимают загрузки от недоверенных пользователей, а приложения с MiniMagick проблеме не подвержены.
Уязвимость затрагивает Ruby on Rails версий от 7.0.0 до 7.2.3.1, от 8.0.0 до 8.0.5 и от 8.1.0 до 8.1.3. Также уязвима ветка Rails 6.x, если администратор вручную выбрал Vips в качестве процессора изображений.
Исправления уже вошли в состав Ruby on Rails 7.2.3.2, 8.0.5.1 и 8.1.3.1. Также потребуется libvips версии 8.13 или новее, а в случае использования ruby-vips — версия не ниже 2.2.1.
Для демонстрации проблемы исследователи Ethiack создали PoC-эксплоит, который представляет собой MAT-файл формата 7.3. Такой файл представляет собой HDF5-контейнер с внешней ссылкой на нужный атакующему файл на сервере, и при загрузке злоумышленник маскирует пейлоад под файл PNG, указывая image/png в поле content_type. Active Storage передает его библиотеке libvips, обрабатывает HDF5-контейнер, обращается к указанному в нем файлу на удаленно сервере и считывает его содержимое. Полученные данные превращаются в значения пикселей сгенерированного изображения, которое Active Storage возвращает атакующему.
Получив secret_key_base, злоумышленник может сформировать поддельный подписанный токен с параметрами преобразования изображения и добиться выполнения Ruby-кода. Исследователи Ethiack продемонстрировали такую цепочку атаки с использованием другой уязвимости — CVE-2025-24293.
Исследователи отмечают, что простого обновления в этом случае недостаточно, и администраторам рекомендуют считать скомпрометированными все секреты, которые мог прочитать процесс приложения. В частности, рекомендуется заменить secret_key_base, мастер-ключ, пароли баз данных, ключи Active Storage и сторонние токены.
Если установить обновления по какой-то причине невозможно, специалисты советуют задать переменную окружения VIPS_BLOCK_UNTRUSTED или вызвать Vips.block_untrusted(true).
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Rocky Linux ruby Important Security Fix Denial of Service CVE-2026-42245 | 0 | 5 | 01-07-2026 |
| 2 | Уязвимость в платформе совместной разработки Forgejo, допускающая удалённое выполнение кода | 0 | 9.72 | 11-09-2026 |
| 3 | Rocky Linux RLSA-2026-33515 Ruby Important Denial of Service Threats | 0 | 5 | 30-06-2026 |
| 4 | Rocky Linux ruby Important Command Injection Threat RLSA-2026-33514 | 0 | 5 | 30-06-2026 |
| 5 | Уязвимость в файловой системе от Microsoft устранили | 0 | 0 | 15-09-2025 |
| 6 | Rocky Linux 9 Kernel Important Security Fix RLSA-2026-49212 CVE-2026-52923 | 0 | 11.8 | 02-08-2026 |
| 7 | В Samba исправлены уязвимости, позволяющие захватить домен Active Directory | 0 | 9.98 | 29-07-2026 |
| 8 | Rocky Linux 10 Vim Vital Denial of Service Code Execution RLSA-2026-48650 | 0 | 7.81 | 01-08-2026 |
| 9 | Атакована недоисправленная уязвимость в Windows | -2 | 6 | 09-07-2026 |
| 10 | В базах данных в облачном сервисе Microsoft нашли уязвимость | 0 | 0 | 27-08-2021 |