Nulled BOT
Moderator
Ruby on Rails выпустил исправления для критической уязвимости Active Storage, которая могла позволить неавторизованным злоумышленникам считывать произвольные файлы с серверов приложений посредством специально сформированных загрузок изображений.
Эта уязвимость, зарегистрированная под номером CVE-2026-66066 (оценка CVSS: 9,5), может привести к раскрытию среды выполнения Rails и секретных данных, таких как secret_key_base, мастер-ключ Rails, пароли к базам данных, учетные данные для облачного хранилища и токены API. Эти секретные данные могут позволить удаленное выполнение кода (RCE) или латеральное перемещение в подключенные системы.
Уязвимые приложения используют библиотеку libvips для обработки изображений в Active Storage и принимают загрузки изображений от ненадежных пользователей. Rails выбирает Vips в настройках load_defaults версии 7.0, и в более поздних версиях это значение сохраняется по умолчанию.
Ethiack и GMO Flatt Security указывают, что уязвимы версии Rails от 7.0.0 до 7.2.3.1, от 8.0.0 до 8.0.5 и от 8.1.0 до 8.1.3. Версии Rails от 6.0.0 до 6.1.7.10 подвержены уязвимости только в том случае, если Active Storage настроен на использование Vips, который не был процессором по умолчанию в Rails 6.
В официальном уведомлении указан более широкий диапазон версий пакета: activestorage < 7.2.3.2. Обе исследовательские группы определяют практический путь атаки через Vips как Rails 6.0 и более поздние версии. Приложения, использующие MiniMagick, не подвержены риску через этот конкретный путь атаки. Сроки поддержки Rails 7.0 и 7.1 истекли, и исправленных версий для них нет, поэтому приложения на этих ветвях должны быть обновлены до Rails 7.2.3.2 или более поздней версии.
Операторам следует обновить версию до Rails 7.2.3.2, 8.0.5.1 или 8.1.3.1 и произвести ротацию всех секретных данных, доступных для чтения процессом приложения. Для исправленных установок требуется libvips версии 8.13 или более поздней, а при установке ruby-vips — ruby-vips версии 2.2.1 или более поздней.
По состоянию на 17:30 UTC 29 июля 2026 года ни одна из исследовательских групп не опубликовала доказательства концепции (PoC). Точный поиск, проведённый The Hacker News, не выявил на тот момент репозиториев с эксплойтами в индексированных результатах GitHub, GitLab, Exploit-DB или Packet Storm. Команда Rails предупредила, что установка исправления не аннулирует учетные данные, которые, возможно, уже были похищены.
Уязвимость находится на границе доверия между Active Storage и libvips. В рекомендации по безопасности от Rails говорится, что libvips поддерживает загрузчики, сохранители и другие операции, некоторые из которых опираются на сторонние библиотеки и помечены как «непрошедшие фуззинг» (unfuzzed) или «недоверенные» (untrusted), поскольку они небезопасны при обработке вредоносных входных данных. Active Storage не блокировала их, что позволяло специально сформированному файлу, загруженному пользователем, вызвать одну из таких операций и раскрыть файлы, доступные для чтения рабочим процессом Rails.
Уязвимое приложение не обязательно должно предоставлять специальные операции по изменению размера или созданию миниатюр. «Генерация вариантов не является отдельным требованием», — заявили в Rails. Публичный патч также показывает, что и анализатор, и преобразователь Vips передавали недоверенные вложения на небезопасные операции.
Успешный запрос предоставляет злоумышленнику возможность произвольного чтения файлов. Возможность выполнения кода или латерального перемещения будет зависеть от того, какие данные удастся извлечь злоумышленнику и к каким ресурсам дают доступ эти учетные данные. Rails рекомендует операторам проводить ротацию secret_key_base, мастер-ключа и расшифрованных учетных данных, учетных данных базы данных, ключей службы Active Storage, а также токенов сторонних сервисов.
Патч вызывает функцию Vips.block_untrusted(true) при запуске Active Storage. Приложения, которые не могут сразу обновить Rails, могут установить флаг VIPS_BLOCK_UNTRUSTED при использовании libvips версии 8.13 или более поздней, либо вызвать Vips.block_untrusted(true) с ruby-vips версии 2.2.1 или более поздней. Согласно Rails, более ранние версии libvips не могут блокировать эти операции, поэтому приложениям необходимо обновить libvips или удалить его из приложения.
Rails выразил благодарность Андре Баптисте, Бруно Мендесу и Рафаэлю Кастильо из Ethiack, а также RyotaK из GMO Flatt Security за то, что они независимо друг от друга сообщили об этой уязвимости. Исследователи не раскрыли информацию о вредоносном формате, конструкции для чтения файлов или цепочке RCE. В Rails сообщили, что дополнительные технические детали будут опубликованы не позднее 28 августа 2026 года.
The Hacker News связался с командой безопасности Rails по поводу возможностей эксплуатации уязвимости и затронутых версий, а также с Ethiack — по поводу цепочки атак.
На момент публикации ни Rails, ни исследователи не сообщали о реальных случаях эксплуатации уязвимости. Проверка, проведенная The Hacker News 29 июля в 17:30 UTC, показала, что CVE-2026-66066 не фигурировала в версии 2026.07.27 каталога CISA «Известные эксплуатируемые уязвимости».
Достоверных данных о количестве уязвимых приложений или конкретных жертвах нет. Оценка 9,5 отражает степень серьезности уязвимости по шкале CVSS, а не количество подверженных риску развертываний: уязвимое развертывание должно также использовать Vips, допускать загрузку недоверенных изображений и включать уязвимую операцию в свою сборку libvips.
Эта уязвимость, зарегистрированная под номером CVE-2026-66066 (оценка CVSS: 9,5), может привести к раскрытию среды выполнения Rails и секретных данных, таких как secret_key_base, мастер-ключ Rails, пароли к базам данных, учетные данные для облачного хранилища и токены API. Эти секретные данные могут позволить удаленное выполнение кода (RCE) или латеральное перемещение в подключенные системы.
Уязвимые приложения используют библиотеку libvips для обработки изображений в Active Storage и принимают загрузки изображений от ненадежных пользователей. Rails выбирает Vips в настройках load_defaults версии 7.0, и в более поздних версиях это значение сохраняется по умолчанию.
Ethiack и GMO Flatt Security указывают, что уязвимы версии Rails от 7.0.0 до 7.2.3.1, от 8.0.0 до 8.0.5 и от 8.1.0 до 8.1.3. Версии Rails от 6.0.0 до 6.1.7.10 подвержены уязвимости только в том случае, если Active Storage настроен на использование Vips, который не был процессором по умолчанию в Rails 6.
В официальном уведомлении указан более широкий диапазон версий пакета: activestorage < 7.2.3.2. Обе исследовательские группы определяют практический путь атаки через Vips как Rails 6.0 и более поздние версии. Приложения, использующие MiniMagick, не подвержены риску через этот конкретный путь атаки. Сроки поддержки Rails 7.0 и 7.1 истекли, и исправленных версий для них нет, поэтому приложения на этих ветвях должны быть обновлены до Rails 7.2.3.2 или более поздней версии.
Операторам следует обновить версию до Rails 7.2.3.2, 8.0.5.1 или 8.1.3.1 и произвести ротацию всех секретных данных, доступных для чтения процессом приложения. Для исправленных установок требуется libvips версии 8.13 или более поздней, а при установке ruby-vips — ruby-vips версии 2.2.1 или более поздней.
По состоянию на 17:30 UTC 29 июля 2026 года ни одна из исследовательских групп не опубликовала доказательства концепции (PoC). Точный поиск, проведённый The Hacker News, не выявил на тот момент репозиториев с эксплойтами в индексированных результатах GitHub, GitLab, Exploit-DB или Packet Storm. Команда Rails предупредила, что установка исправления не аннулирует учетные данные, которые, возможно, уже были похищены.
Уязвимость находится на границе доверия между Active Storage и libvips. В рекомендации по безопасности от Rails говорится, что libvips поддерживает загрузчики, сохранители и другие операции, некоторые из которых опираются на сторонние библиотеки и помечены как «непрошедшие фуззинг» (unfuzzed) или «недоверенные» (untrusted), поскольку они небезопасны при обработке вредоносных входных данных. Active Storage не блокировала их, что позволяло специально сформированному файлу, загруженному пользователем, вызвать одну из таких операций и раскрыть файлы, доступные для чтения рабочим процессом Rails.
Уязвимое приложение не обязательно должно предоставлять специальные операции по изменению размера или созданию миниатюр. «Генерация вариантов не является отдельным требованием», — заявили в Rails. Публичный патч также показывает, что и анализатор, и преобразователь Vips передавали недоверенные вложения на небезопасные операции.
Успешный запрос предоставляет злоумышленнику возможность произвольного чтения файлов. Возможность выполнения кода или латерального перемещения будет зависеть от того, какие данные удастся извлечь злоумышленнику и к каким ресурсам дают доступ эти учетные данные. Rails рекомендует операторам проводить ротацию secret_key_base, мастер-ключа и расшифрованных учетных данных, учетных данных базы данных, ключей службы Active Storage, а также токенов сторонних сервисов.
Патч вызывает функцию Vips.block_untrusted(true) при запуске Active Storage. Приложения, которые не могут сразу обновить Rails, могут установить флаг VIPS_BLOCK_UNTRUSTED при использовании libvips версии 8.13 или более поздней, либо вызвать Vips.block_untrusted(true) с ruby-vips версии 2.2.1 или более поздней. Согласно Rails, более ранние версии libvips не могут блокировать эти операции, поэтому приложениям необходимо обновить libvips или удалить его из приложения.
Rails выразил благодарность Андре Баптисте, Бруно Мендесу и Рафаэлю Кастильо из Ethiack, а также RyotaK из GMO Flatt Security за то, что они независимо друг от друга сообщили об этой уязвимости. Исследователи не раскрыли информацию о вредоносном формате, конструкции для чтения файлов или цепочке RCE. В Rails сообщили, что дополнительные технические детали будут опубликованы не позднее 28 августа 2026 года.
The Hacker News связался с командой безопасности Rails по поводу возможностей эксплуатации уязвимости и затронутых версий, а также с Ethiack — по поводу цепочки атак.
На момент публикации ни Rails, ни исследователи не сообщали о реальных случаях эксплуатации уязвимости. Проверка, проведенная The Hacker News 29 июля в 17:30 UTC, показала, что CVE-2026-66066 не фигурировала в версии 2026.07.27 каталога CISA «Известные эксплуатируемые уязвимости».
Достоверных данных о количестве уязвимых приложений или конкретных жертвах нет. Оценка 9,5 отражает степень серьезности уязвимости по шкале CVSS, а не количество подверженных риску развертываний: уязвимое развертывание должно также использовать Vips, допускать загрузку недоверенных изображений и включать уязвимую операцию в свою сборку libvips.
