CVE: CVE-2026-66066
Продукт: Ubuntu
Дата публикации: 30.07.2026
Критичность: CRITICAL
CVSS: 9.5 (4.0)
EPSS: 1,77%; процентиль 75,91%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
Уязвимость CVE-2026-66066 затрагивает компонент Active Storage в Ruby on Rails, позволяя атакующим с помощью специально подготовленных файлов вызывать опасные операции библиотеки libvips. Это может привести к чтению конфиденциальных данных, включая секреты приложений, и потенциально к удалённому выполнению кода. В Ubuntu затронуты версии пакета rails, включая LTS-версии 16.04, 18.04, 20.04, 22.04 и 24.04. Уязвимость имеет высокий уровень критичности (CVSS 4.0: 9.5) и исправлена в версиях 7.2.3.2, 8.0.5.1 и 8.1.3.1 [1].
Основные характеристики
CVE-2026-66066 — это уязвимость в Active Storage, компоненте Ruby on Rails, которая позволяет выполнять опасные операции через библиотеку libvips при обработке загруженных файлов. Атакующий может использовать этот механизм для чтения произвольных файлов, доступных процессу Rails, включая переменные окружения и секреты приложений. Эксплуатация возможна в случае, если система использует libvips и принимает изображения от непроверенных пользователей. В Ubuntu уязвимы версии пакета rails, начиная с 4.2.6 и выше, включая LTS-версии 16.04, 18.04, 20.04, 22.04 и 24.04 [2].
Какие продукты и версии затронуты
Уязвимость затрагивает Ubuntu-пакеты, основанные на Ruby on Rails, в частности, пакет rails и связанные компоненты, такие как ruby-actionpack, ruby-activestorage, ruby-activesupport и другие. Уязвимые версии включают: Ubuntu 16.04 (rails 2:4.2.6-1ubuntu0.1~esm2), Ubuntu 18.04 (rails 2:4.2.10-0ubuntu4+esm2), Ubuntu 20.04 (rails 2:5.2.3+dfsg-3ubuntu0.1~esm1), Ubuntu 22.04 (rails 2:6.1.4.1+dfsg-8ubuntu2+esm1), Ubuntu 24.04 (rails 2:6.1.7.3+dfsg-3). Также затронуты версии Ubuntu 26.04 (rails 2:7.2.3+dfsg-2). Все эти версии требуют обновления для устранения уязвимости [2].
Причина уязвимости
Основная причина уязвимости — отсутствие механизма блокировки опасных операций библиотеки libvips в Active Storage. При использовании libvips для обработки изображений, сервер может выполнить небезопасные действия, если получает специально подготовленный файл. Это происходит из-за того, что Active Storage не отключает такие операции по умолчанию, даже если они помечены как небезопасные для непроверенных пользователей. Таким образом, атакующий может вызвать выполнение этих операций, что приводит к чтению произвольных файлов на сервере [1].
Как работает атака
Атака осуществляется через механизм загрузки файлов в приложениях, использующих Active Storage и libvips. Атакующий отправляет специально подготовленный файл, который содержит инструкции для выполнения опасных операций библиотеки libvips. При обработке файла сервер выполняет указанные операции, что позволяет получить доступ к файлам, доступным процессу Rails. Например, можно прочитать переменные окружения, файлы конфигурации или секреты приложения. Успешное использование уязвимости требует, чтобы приложение было сконфигурировано для использования libvips и принимало загрузки от непроверенных пользователей [1].
Условия успешной эксплуатации
Для успешной эксплуатации уязвимости необходимо, чтобы система использовала Active Storage с включённой поддержкой libvips и принимала изображения от непроверенных пользователей. Также требуется, чтобы приложение было сконфигурировано таким образом, чтобы обрабатывать загруженные файлы через libvips. Уязвимость не может быть использована, если приложение не использует libvips или не принимает файлы от непроверенных источников [1].
Возможный сценарий атаки
Атакующий создаёт специально подготовленный файл изображения, который содержит инструкции для выполнения опасных операций библиотеки libvips. Затем он загружает этот файл в приложение, использующее Active Storage и libvips. При обработке файла сервер выполняет указанные операции, что позволяет получить доступ к файлам, доступным процессу Rails. Например, можно прочитать файлы с секретами, такими как secret_key_base или токены внешних сервисов. Это может привести к дальнейшей эксплуатации, включая удалённое выполнение кода или латеральное перемещение в сети [1].
Есть ли публичный эксплойт
На момент анализа не подтверждено наличие публичного эксплойта или PoC, который напрямую демонстрирует эксплуатацию уязвимости. Однако, учитывая высокую критичность и возможность чтения произвольных файлов, возможно, что подобные эксплойты могут быть разработаны в будущем. Информация о возможной эксплуатации не подтверждена официальными источниками [1].
Признаки эксплуатации
В отсутствие специфичных IOC, можно наблюдать за следующими признаками: необычные запросы к Active Storage, увеличение нагрузки на сервер при обработке изображений, неожиданные попытки чтения файлов с правами процесса Rails. Также стоит обратить внимание на необычную активность в журналах приложений, связанных с обработкой изображений. Эти признаки не являются гарантией наличия атаки, но могут указывать на потенциальную угрозу.
Как обнаружить атаку
Обнаружение уязвимости возможно через проверку версий пакетов rails и связанных компонентов. Также можно отслеживать журналы приложений на предмет необычных действий при обработке изображений. Важно проверить, используют ли приложения libvips и принимают ли они загрузки от непроверенных пользователей. Для диагностики можно использовать команды, такие как
dpkg -l | grep rails или apt list --installed | grep rails. Также рекомендуется проверять конфигурацию приложений на предмет использования libvips.Как проверить свою версию
Для проверки версии пакета rails в Ubuntu можно использовать следующие команды:
Bash:
# Проверка версии ядра
uname -r
# Проверка установленных пакетов
apt list --installed | grep rails
# Проверка версии конкретного пакета
apt-cache policy rails
Замените
<имя-пакета> на имя пакета, например rails, ruby-actionpack или ruby-activestorage, чтобы получить информацию о конкретной версии.Исправление
Для устранения уязвимости необходимо обновить пакет rails и связанные компоненты до версий, в которых она исправлена. В Ubuntu это означает обновление до версий 7.2.3.2, 8.0.5.1 или 8.1.3.1. Рекомендуется выполнить команду обновления:
Bash:
sudo apt update && sudo apt upgrade
Также важно проверить, не используется ли в приложениях libvips, и если используется, то обеспечить корректную настройку безопасности.
Временные меры защиты
Временные меры защиты включают отключение функциональности Active Storage, связанной с libvips, или ограничение загрузки файлов от непроверенных пользователей. Также можно временно отключить обработку изображений через libvips, если это возможно. Рекомендуется использовать мониторинг и логирование для выявления подозрительной активности.
Как проверить устранение уязвимости
После применения обновлений необходимо проверить, что пакеты rails и связанные компоненты обновлены до версий, в которых устранена уязвимость. Можно использовать команды:
Bash:
# Проверка версии пакета
apt-cache policy rails
# Проверка установленных пакетов
apt list --installed | grep rails
Также рекомендуется перезапустить приложения и проверить журналы на предмет ошибок или необычной активности.
Вывод
CVE-2026-66066 представляет собой серьёзную уязвимость в Active Storage, которая может быть использована для чтения произвольных файлов на сервере. Уязвимость затрагивает несколько версий Ubuntu, включая LTS-версии. Важно своевременно обновлять пакеты rails и связанные компоненты до версий, в которых она исправлена. Пользователи должны следить за обновлениями и применять рекомендации по защите.
Официальные источники
История обновлений статьи
- 06.08.2026 — Опубликована первая версия материала.
