Rails zakrpio kritični Active Storage propust za čitanje serverskih fajlova

Ruby on Rails je 29. jula 2026. objavio zakrpe za CVE-2026-66066, kritični propust u Active Storage komponenti sa CVSS ocenom 9,5. Posebno pripremljena slika omogućava napadaču bez autentifikacije da čita fajlove dostupne Rails procesu.
Zašto je propust kritičan
Ranjive su aplikacije koje prihvataju slike nepouzdanih korisnika i obrađuju ih pomoću biblioteke libvips. Napad može otkriti secret_key_base, Rails master ključ, lozinke baza, pristupne podatke za cloud skladište i API tokene.
Samo čitanje fajlova ne garantuje izvršavanje koda. Ipak, ukradene tajne mogu otvoriti put ka RCE napadu ili bočnom kretanju kroz povezane sisteme, u zavisnosti od privilegija naloga i servisa.
Pogođene verzije i mehanizam
Ethiack i GMO Flatt Security navode Rails 7.0.0–7.2.3.1, 8.0.0–8.0.5 i 8.1.0–8.1.3. Rails 6.0.0–6.1.7.10 je pogođen samo ako je Active Storage podešen da koristi Vips. MiniMagick nije izložen ovom konkretnom putu napada.
Problem je nastao na granici poverenja između Active Storage i libvips. Analyzer i transformer prosleđivali su priloge operacijama označenim kao nepouzdane, pa je zlonamerni format mogao da aktivira čitanje lokalnog fajla.
„Generisanje varijanti nije poseban uslov“, saopštio je Rails.
Zakrpa nije dovoljna bez rotacije
Potrebno je preći na Rails 7.2.3.2, 8.0.5.1 ili 8.1.3.1. Grane 7.0 i 7.1 više nisu podržane. Zakrpljene instalacije zahtevaju libvips 8.13 ili noviji, a uz ruby-vips najmanje verziju 2.2.1. Privremena zaštita je VIPS_BLOCK_UNTRUSTED ili poziv Vips.block_untrusted(true).
Rails upozorava da zakrpa ne poništava već ukradene podatke. Zato treba rotirati master ključ, secret_key_base, dešifrovane kredencijale, lozinke baza, ključeve Active Storage servisa i tokene trećih strana. Do objave nisu zabeleženi javni PoC ni potvrđena eksploatacija.
Za poslovne sisteme prioritet nije samo ažuriranje paketa: proverite gde se prihvataju slike, koji proces ih obrađuje i kojim tajnama taj proces može da pristupi. Time ograničavate posledice čak i kada ranjivost zaobiđe preventivne kontrole.

