Критична уязвимост в рамката Active Storage може да позволи на неавтентифициран атакуващ да чете произволни файлове от Rails приложение и потенциално да ескалира правата си до отдалечено изпълнение на код (RCE).

Rails е популярна уеб рамка с отворен код, написана на Ruby, за създаване на уебсайтове и уеб приложения. Тя използва вградения Rails компонент Active Storage за управление на качвания на файлове и прикачени файлове.

Поддържащите Rails публикуваха консултация относно дефекта CVE-2026-66066, който получи оценка за критична степен на сериозност.

Active Storage може също така да генерира миниатюри на изображения от качени медии, като използва библиотеки за обработка на изображения като libvips или ImageMagick.

Според бюлетина за сигурност, CVE-2026-66066 може да бъде експлоатирана, когато се използва libvips, позволявайки на атакуващ да качи специално създадено изображение в уязвимо приложение и да чете произволни файлове на сървъра.

Друго предварително условие за атаката е, че сървърът трябва да позволява качване на изображения от ненадеждни потребители.

Ако тези изисквания са изпълнени, атакуващият може да получи достъп до файловете на приложението, включително средата на процеса, която обикновено съдържа „secret_key_base“ и идентификационни данни за бази данни, облачно съхранение и други услуги.

CVE-2026-66066 засяга Active Storage преди 7.2.3.2, 8.0.x преди 8.0.5.1 и 8.1.x преди 8.1.3.1.

Rails 6.x е засегнат само ако Active Storage е конфигуриран извън настройките му по подразбиране.

Екипът на Rails препоръчва надграждане до libvips 8.13 или по-нова версия и ротация на „secret_key_base“ (главния ключ на Rails), идентификационните данни за бази данни, идентификационните данни за Active Storage услугите и всички други тайни, достъпни за процеса на приложението.

За системи, работещи с libvips 8.13 или по-нова версия, администраторите могат временно да деактивират уязвимата функционалност чрез задаване на променливата на средата VIPS_BLOCK_UNTRUSTED или извикване на Vips.block_untrusted(true) при използване на ruby-vips 2.2.1 или по-нова версия.

Няма налично временно решение за приложения, които използват libvips преди версия 8.13.

Потребителите на ImageMagick не са засегнати от този вектор. Въпреки това, libvips е процесорът по подразбиране в официалните Docker изображения на Rails, както и в настройките на Debian и Ubuntu.

Екипът на Rails заяви, че умишлено е спестил технически детайли за уязвимостта, за да намали риска от експлоатация, преди потребителите да имат време да приложат актуализациите.

Първоначално беше планирано пълните технически подробности да бъдат разкрити на 28 август във форумите на Rails.

Въпреки това, тъй като публични експлоати с доказателство за концепция (PoC) станаха достъпни много бързо, поддържащите решиха да публикуват пълните подробности, както и инструменти за криминалистично разследване.

Уязвимостта беше открита и отговорно докладвана на екипа на Rails от изследователи от Ethiack и GMO Flatt Security Inc.

Фирмата за сигурност Akamai също публикува предупреждение за CVE-2026-66066, като нарече веригата от атаки „KindaRails2Shell“ и предупреди за нейния RCE потенциал.

„При компрометиран secret_key_base атакуващият притежава главния криптографски ключ за приложението“, обяснява Akamai. „Те могат да фалшифицират бисквитки на сесията, да подписват глобални идентификатори и да манипулират сериализирани данни, което директно се превръща в пълно отдалечено изпълнение на код (RCE) на базовия сървър.“

Akamai споделя, че е координирала действията си с Ethiack преди публичното оповестяване, за да подготви защити за клиентите си, и вече е пуснала защити за защитна стена на уеб приложения (WAF).

От Ethiack отбелязаха, че WAF може да спечели малко време на администраторите, но атакуващите, използващи инструменти с изкуствен интелект, би трябвало да могат да възстановят веригата на атаката въз основа на разликите в корекциите за сигурност.