Açık, Rails'in dosya yükleme işlemlerini yöneten Active Storage bileşeninde yer alıyor. Bazı uygulamalar yüklenen dosyaları Active Storage'ın Disk hizmeti aracılığıyla doğrudan sunucu diskine kaydediyor. Bu yapıdaki uygulamalarda bir saldırgan, uygulamanın okuyabildiği herhangi bir dosyayı da okuyabiliyor. Rails'e göre bu dosyalar arasında genellikle uygulamanın secret_key_base değeri ile diğer sistemlere ait kimlik bilgileri bulunuyor. Bu bilgilere erişim, uzaktan kod yürütme ya da ilgili sistemlere yanal hareket gibi daha ileri saldırılara zemin hazırlayabiliyor.
Açığın Teknik Boyutu ve Saldırı Zinciri
Rails, açığı CVSS ölçeğinde 10 üzerinden 9,8 olarak derecelendirdi. Açık GHSA-f3w6-w445-fwh9 tanımlayıcısıyla izleniyor; henüz bir CVE numarası atanmadı. Sorunun temelinde ImageMagick'in dosya içeriğine göre otomatik biçim işleyici seçmesi yatıyor. Bu işleyicilerden bazıları, görüntünün kendisi yerine görüntü içinde adı geçen başka dosyalar üzerinde işlem yapıyor. Active Storage, bir yüklemenin hangi işleyiciyi kullanabileceğine dair herhangi bir kısıtlama uygulamıyor; bu nedenle sunucunun kendi ImageMagick politikası tek güvence noktası olarak kalıyor.Active Storage'daki ImageMagick çözümleyicisi, bir dosya sisteme eklendiğinde devreye giriyor. Yani saldırının tetiklenmesi için uygulamanın görüntü varyantı oluşturması ya da analiz işlevi çağırması gerekmiyor; dosyayı sisteme eklemek tek başına yeterli. Açığı kapatan commit'e göre yüklenen bir SVG dosyası, bu çözümleyici üzerinden ImageMagick'in MSL işleyicisine ulaşabiliyor. MSL, kendi komut dosyasında belirtilen dosyaları okuyup yazabilen bir betik işleyicisi. Rails, kendisine bildirilen bir saldırı zinciri bulunduğunu ancak bunun tek yol olmadığını da vurguladı. Güvenlik duyurusu, açığın aktif olarak istismar edilip edilmediğine ilişkin bir bilgi içermiyor.
Açığı, GMO Flatt Security bünyesindeki araştırmacı RyotaK, HackerOne platformu üzerinden Rails ekibine bildirdi.
Hangi Uygulamalar Etkileniyor?
Bir uygulamanın bu açıktan etkilenebilmesi için şu üç koşulun aynı anda sağlanması gerekiyor: Active Storage görüntü işleme için ImageMagick kullanılıyor olmalı; yani config.active_storage.variant_processor ayarı :mini_magick olarak belirlenmiş ya da load_defaults 6.1 veya önceki sürümlerde bu varsayılan değer geçerli olmalı. Sunucunun ImageMagick güvenlik politikası, söz konusu işleyicileri önceden engelliyor olmamalı; Rails'e göre Debian ve Ubuntu'nun varsayılan politikaları bu işleyicileri engellemiyor. Son olarak uygulama, güvenilmeyen kullanıcılardan dosya yüklemesi kabul ediyor olmalı.8.0.5.2 öncesindeki tüm Active Storage sürümleri ve 8.1.4.1 öncesindeki 8.1 serisi sürümler bu açıktan etkileniyor. 8.0'dan eski sürüm serileri artık desteklenmiyor ve Rails bu seriler için düzeltme yayımlamayacak. Temmuz ayında Rails, ImageMagick yerine libvips kullanan uygulamaları etkileyen farklı bir kritik Active Storage açığını, CVE-2026-66066'yı kapatmıştı. ImageMagick kullanan uygulamalar o açıktan etkilenmemişti; ancak şimdiki açığa karşı savunmasız olabiliyorlar. Aynı sürümler, CVSS puanı 8,8 olan ve yüksek önem derecesine sahip ikinci bir Active Storage açığını da, GHSA-v924-7rp8-4mxh'ı, gideriyor. Bu ikinci açıkta Active Storage, yüklenen dosyaları ImageMagick ve FFmpeg'e geçici dosya adlarıyla iletirken yüklenen dosyanın uzantısını koruyordu; bu durum saldırganların dosya adı ve içerik türünü seçerek kullanılacak kod çözücüyü belirlemesine olanak tanıyordu.
Alınması Gereken Önlemler
Rails, mümkün olan en kısa sürede güncelleme yapılmasını kuvvetle tavsiye ediyor. İki yeni sürüm, toplamda 21 güvenlik sorununu gideriyor. Güncellenen sürümler, bir ImageMagick güvenlik politikasıyla birlikte geliyor. Active Storage'ın ImageMagick çağrıları için kullandığı Ruby gem'i olan MiniMagick, varsayılan yapılandırmasında tüm ImageMagick komutlarına bu politikayı uyguluyor. Politika; MSL işleyicisini, görüntü dışındaki dosyaları okuyan ya da silen işleyicileri, uzak veya yerel referansları getiren işleyicileri, Ghostscript tabanlı tüm işleyicileri ve gs temsilcisini, ayrıca @dosyaadı yönlendirmesini engelliyor.Rails 8.1.4.1 veya 8.0.5.2 sürümüne yükseltme yapılması gerekiyor. :mini_magick kullanan uygulamaların aynı zamanda mini_magick 5.1 veya üstünü kullanması gerekiyor; aksi hâlde uygulama başlarken hata veriyor. Rails 8.0, bakım politikasına göre yalnızca 7 Kasım 2026 tarihine kadar güvenlik güncellemesi alacak. Yükseltme yapılamıyorsa Rails'in yayımladığı politika dosyasındaki kuralların, örneğin /etc/ImageMagick-7/policy.xml gibi ImageMagick'in sistem politikasına kopyalanması öneriliyor. En azından MSL işleyicisinin, Ghostscript işleyicilerinin ve gs temsilcisinin engellenmesi gerekiyor.
Uygulama dosyaları Disk hizmeti üzerinden depoluyorsa secret_key_base başta olmak üzere uygulama sürecinin erişebildiği tüm gizli bilgilerin değiştirilmesi gerekiyor. Bunlar arasında ana anahtar, config/credentials.yml.enc içindeki tüm değerler, depolama ve veritabanı kimlik bilgileri ile üçüncü taraf erişim anahtarları sayılabilir. Güvenlik duyurusu, bir uygulamanın daha önce hedef alınıp alınmadığını kontrol etme yöntemini açıklamıyor.

Yazılım ve Uygulamalar
Yazılım ve Uygulamalar
Yazılım ve Uygulamalar
Yorumlar (0)
Yorum yapmak için giriş yapmalısınız.