Kritické CVSS 9,8 Aktuálně
Ruby on Rails opravuje 21 chyb – nahraný obrázek může přes ImageMagick číst a zapisovat soubory serveru
Tým Ruby on Rails 4. listopadu 2026 vydal bezpečnostní verze 8.1.4.1 a 8.0.5.2 s opravami 21 chyb. Nejvážnější je v Active Storage, části Rails pro nahrávání souborů: aplikace, která zpracovává obrázky přes ImageMagick, může útočníkovi bez přihlášení dovolit zapisovat a číst soubory na serveru – včetně tajných klíčů. Slovenský SK-CERT na chybu upozornil 9. listopadu.
Ve zkratce
- Rails 8.1.4.1 a 8.0.5.2 z 4. 11. 2026 opravují 21 bezpečnostních chyb: jednu kritickou, čtyři vysoké, 13 středních a tři nízké. Identifikátory CVE zatím nemají, jen advisory na GitHubu (GHSA).
- Kritická chyba GHSA-f3w6-w445-fwh9 (CVSS 9,8): když Active Storage analyzuje nahraný obrázek přes ImageMagick, podvržený soubor může zapsat libovolný soubor na server. Při ukládání příloh na disk může útočník i číst soubory, ke kterým má aplikace přístup – třeba secret_key_base a přístupové údaje.
- Druhá chyba v Active Storage (GHSA-v924-7rp8-4mxh, CVSS 8,8) zneužívá to, že nástroje ffmpeg, ffprobe a ImageMagick volí dekodér podle přípony souboru, kterou určil útočník. V určité konfiguraci FFmpeg může vést ke čtení souborů i ke spuštění kódu.
- Rails podporuje bezpečnostními opravami jen řady 8.1 a 8.0, podpora 8.0 skončila 7. 11. 2026. Aplikace na Rails 7.2 a starších jsou v dotčeném rozsahu a opravu nedostanou – pomůže jen přechod na novou řadu nebo ruční zpřísnění ImageMagick.
Co se stalo
Tým Ruby on Rails 4. listopadu 2026 vydal bezpečnostní verze 8.1.4.1 a 8.0.5.2. Opravují 21 chyb napříč frameworkem – v Active Storage, Action Pack, Action View, Active Support i Action Mailbox – a tým doporučuje aktualizovat co nejdřív. Chyby zatím nemají čísla CVE; každá má jen advisory na GitHubu (GHSA).
Nejvážnější je GHSA-f3w6-w445-fwh9 v Active Storage, které se v Rails stará o nahrané soubory. Slovenský národní tým SK-CERT na ni 9. listopadu vydal varování V20261109-01 s označením kritická. O zneužívání neví ani Rails, ani SK-CERT.
| Položka | Hodnota |
|---|---|
| Kritická chyba | GHSA-f3w6-w445-fwh9 – zápis a čtení souborů přes analýzu obrázků |
| Skóre CVSS 3.0 | 9,8 (kritická), přiděleno Rails |
| Slabina | CWE-1188 – nebezpečné výchozí nastavení |
| Zneužívání | neuváděno (k 10. 11. 2026) |
| Opraveno | 4. 11. 2026 – Active Storage 8.1.4.1 a 8.0.5.2 |
| CVE | zatím nepřiděleno |
Technické podrobnosti
Kritická chyba (GHSA-f3w6-w445-fwh9). Když uživatel k záznamu připojí soubor, Active Storage ho hned analyzuje – u obrázků přes ImageMagick. ImageMagick si způsob čtení souboru (takzvaný kodér) vybírá podle obsahu, ne podle přípony. Některé kodéry umí pracovat se soubory, na které se obrázek odkazuje. Podvržený soubor tak může přimět ImageMagick, aby zapsal libovolný soubor na server. Pokud aplikace ukládá přílohy na disk (služba Disk), může útočník soubory i číst – například secret_key_base nebo přístupové údaje k dalším službám. Stačí samotné připojení souboru; aplikace nemusí vytvářet náhledy ani nic dalšího.
Podle Rails byl nahlášen jeden řetězec útoku, ale tým nepředpokládá, že je jediný. Oprava proto nehledá konkrétní trik a místo toho přidává k ImageMagick vlastní bezpečnostní politiku (policy.xml). Ta zakazuje kodér MSL, kodéry, které čtou nebo mažou jiné soubory, stahují vzdálené nebo místní odkazy či zobrazují na obrazovku, všechny kodéry postavené na Ghostscriptu včetně delegátu gs a nepřímé odkazy @soubor. Politika se přičte k té systémové a platí pro všechny příkazy ImageMagick spuštěné přes mini_magick.
Druhá chyba v Active Storage (GHSA-v924-7rp8-4mxh, CVSS 3.1 8,8, vysoká). Dočasné soubory si ponechávaly příponu z názvu, který zvolil uživatel. Nástroje ffprobe (analýza videa a zvuku), ffmpeg (náhledy videa) a ImageMagick pak podle ní volily dekodér. Pokud je FFmpeg sestavený s podporou AviSynth (podle advisory ji mají sestavení GPL pro Windows a Linux z ffmpeg.org, ne běžné balíčky linuxových distribucí ani Homebrew), může nahraný soubor .avs vést ke čtení souborů přes náhled, případně až ke spuštění kódu v procesu FFmpeg. Na rozdíl od kritické chyby vyžaduje skóre přihlášeného útočníka. Oprava ponechá příponu jen tehdy, když odpovídá zjištěnému typu souboru.
Další vysoké chyby: obejití Strong Parameters přes Parameters#each_key (GHSA-wm3x-v3qw-4jh3, CVSS 7,5 – neúplná oprava staré CVE-2020-8164; zneužitelné jen tehdy, když aplikace výsledek each_key předá do hromadného přiřazení), podvržení IP adresy v RemoteIp (jen řada 8.1) a odepření služby v safe_constantize. Zbytek tvoří XSS v pomocnících Action View, odepření služby a slabiny v přímém nahrávání do Google Cloud Storage a v relacích.
Návod ke zneužití nezveřejňujeme.
Koho se to týká
- Aplikace na Rails starší než 8.1.4.1 (řada 8.1) a starší než 8.0.5.2 – podle advisory to zahrnuje i řadu 7.2 a všechny starší.
- U kritické chyby jen aplikace, které přijímají soubory od nedůvěryhodných uživatelů a mají Active Storage s ImageMagick (
config.active_storage.variant_processor = :mini_magick, výchozí proload_defaults 6.1a starší) bez politiky, která nebezpečné kodéry zakazuje. Balíčkové politiky Debianu a Ubuntu je podle advisory nezakazují. - Čtení souborů jen při ukládání příloh službou Disk; zápis na ní nezávisí.
- Řada 7.2 a starší opravu nedostane: Rails podle stránky údržby podporuje bezpečnostními opravami jen řadu 8.1 (do 10. 10. 2027) a 8.0 (do 7. 11. 2026, tedy už skončila).
Jak poznat napadení
Rails ani SK-CERT nezveřejnili indikátory napadení. Následující kontroly jsou naše doporučení:
- Nahrané soubory: hledejte v úložišti Active Storage přílohy, jejichž obsah neodpovídá typu (například text PostScriptu, SVG nebo skript místo obrázku), a soubory s příponou
.avs. - Souborový systém: neočekávané soubory zapsané uživatelem, pod kterým běží aplikace, zvlášť v adresářích s kódem,
public/nebo v domovském adresáři. - Procesy: neobvyklé podřízené procesy
magick/convert,gs,ffmpegneboffprobea z nich spuštěné shelly. - Zneužití tajemství: přihlášení podepsanými cookies, které nesedí na relace, nebo nečekaná aktivita na účtech úložiště a databáze.
Co udělat
- Aktualizujte na Rails 8.1.4.1. Řada 8.0 (8.0.5.2) už další opravy nedostane, takže přechod na 8.1 naplánujte co nejdřív.
- Aktualizujte mini_magick na 5.1 nebo novější – s
:mini_magickstarší verze po aktualizaci Rails při startu vyhodí výjimku. - Zkontrolujte, že se politika uplatní. Aplikace, které po startu přepisují
MiniMagick.cli_env, mažou prostředí přesMiniMagick.cli_prefixnebo mají vlastníMiniMagick::Shell, politiku z Rails nedostanou. Pravidla pak patří do systémové politiky ImageMagick. GraphicsMagick politiky ImageMagick nečte. - Když nemůžete hned aktualizovat (nebo jste na Rails 7.2 a starších): zkopírujte pravidla z
policy.xmlv opravě do systémové politiky, např./etc/ImageMagick-7/policy.xml. Minimálně zakažte kodér MSL, delegátgsa kodéry na Ghostscriptu (PS, PS2, PS3, EPS a varianty, PDF, AI, EPDF, PDFA, POCKETMOD, XPS, PCL). Pro chybu s příponami můžete dočasně odebratVideoPreviewer,VideoAnalyzeraAudioAnalyzerz konfigurace Active Storage nebo použít FFmpeg bez AviSynth. - Vyměňte tajemství, pokud aplikace ukládá přílohy na disk (nebo splňovala podmínky AviSynth):
secret_key_base, master key, obsahconfig/credentials.yml.enc, přístupy k úložišti a databázi a tokeny třetích stran. Starý klíč nenechávejte jako záložní. Počítejte s tím, že se uživatelé odhlásí. - Aplikace, které potřebují PDF a PostScript (náhledy), musí po aktualizaci delegát
gsa jeho kodéry v systémové politice výslovně povolit – zvažte, zda je opravdu potřebují zpracovávat od anonymních uživatelů.
Časová osa
Aktualizace
- 10. 11. 2026 – první verze článku.
Časté otázky
Používáme Rails 7.2. Týká se nás to?
Ano, pokud aplikace zpracovává obrázky přes ImageMagick. Advisory uvádí jako zranitelné všechny verze Active Storage starší než 8.0.5.2, tedy i řadu 7.2 a starší. Ty už podle stránky údržby Rails bezpečnostní opravy nedostávají. Do přechodu na Rails 8.1 přidejte do systémové politiky ImageMagick pravidla, která advisory popisuje (viz Co udělat).
Používáme libvips místo ImageMagick. Jsme v bezpečí?
Kritická chyba se týká jen zpracování přes ImageMagick (variant_processor :mini_magick, výchozí do load_defaults 6.1). ImageMagick ale Active Storage používá i k analýze obrázků, takže pokud ho máte na serveru, aktualizujte stejně. Chyba s příponami souborů navíc zahrnuje ffmpeg a ffprobe pro video a zvuk.
Nestačí ImageMagick policy z Debianu nebo Ubuntu?
Podle advisory ne – balíčkové politiky Debianu a Ubuntu nebezpečné kodéry, o které jde, nezakazují. Oprava v Rails přidává vlastní politiku, která se ke stávající přičte.
Proč měnit secret_key_base, když nevíme o útoku?
Pokud aplikace ukládá přílohy na disk a byla zranitelná, útočník mohl číst soubory s tajemstvími a nezanechat stopu, kterou byste snadno našli. Advisory proto doporučuje vyměnit secret_key_base, master key, obsah credentials.yml.enc, přístupy k úložišti a databázi i tokeny k dalším službám. Výměna secret_key_base odhlásí uživatele a zneplatní podepsané cookies a odkazy na soubory.
Zdroje
- Ruby on Rails – Rails Versions 8.0.5.2 and 8.1.4.1 have been released! (4. 11. 2026)
- Rails – GHSA-f3w6-w445-fwh9: Possible arbitrary file write and read in Active Storage image analysis
- Rails – GHSA-v924-7rp8-4mxh: Possible arbitrary file read and remote code execution in Active Storage video previews, analysis and image processing
- Rails – GHSA-wm3x-v3qw-4jh3: Possible Strong Parameters bypass in Parameters#each_key
- SK-CERT – Bezpečnostné varovanie V20261109-01: Ruby on Rails Active Storage (9. 11. 2026)
- Ruby on Rails – Maintenance Policy
- ImageMagick – Security Policy
Našli jste v článku chybu? Dejte nám vědět, opravu vyznačíme.