Un'immagine manipolata permette di scrivere file sui server Ruby on Rails

04.11.2026 4 min 4

Ruby on Rails, il framework web su cui girano molti negozi online, prodotti SaaS e startup, ha corretto una falla critica: un aggressore senza alcun account poteva scrivere file arbitrari sul server semplicemente caricando un'immagine costruita ad arte. Il bug si trova in Active Storage, il componente di Rails che gestisce il caricamento dei file, e riguarda le applicazioni che elaborano le immagini con ImageMagick. Ha un punteggio di 9,8 su 10, secondo il bollettino di sicurezza di Rails. La correzione è uscita il 4 novembre in Rails 8.0.5.2 e 8.1.4.1.

Come un solo caricamento compromette il server

ImageMagick decide come leggere un file in base al contenuto, non al nome. Alcuni dei suoi «coder» non si limitano a decodificare un'immagine: seguono istruzioni contenute nel file e leggono o scrivono altri file sul disco. Active Storage non ne limitava nessuno e avvia il suo analizzatore ImageMagick non appena un file viene allegato. «Basta allegare il file caricato; non serve alcuna chiamata a variant, preview o analyze», si legge nel bollettino.

Se l'applicazione conserva i file sul disco locale (servizio Disk), l'aggressore può anche leggere qualsiasi file accessibile all'applicazione. Tra questi di solito ci sono secret_key_base e le credenziali di database, archivi cloud e servizi di terze parti. Con quelle, avverte il bollettino, un aggressore può arrivare all'esecuzione di codice da remoto o spostarsi sui sistemi collegati. La falla è stata segnalata dal ricercatore ryotak tramite HackerOne. Rails dice di aver ricevuto la segnalazione di una catena d'attacco, «ma non diamo per scontato che sia l'unica».

Quali applicazioni sono colpite

Un'applicazione è vulnerabile se valgono tutte e tre le condizioni:

  • Le immagini le elabora ImageMagick. È il processore di varianti :mini_magick, predefinito nelle applicazioni configurate con load_defaults 6.1 o precedente. Da Rails 7.0 le nuove applicazioni usano libvips, quindi sono esposte solo se qualcuno le ha riportate su ImageMagick.
  • ImageMagick gira senza una policy rigida. Le policy incluse nei pacchetti Debian e Ubuntu non bloccano i coder coinvolti.
  • Estranei possono caricare file: avatar, foto dei prodotti, allegati ai ticket di assistenza.

Sono colpite le versioni di activestorage precedenti alla 8.0.5.2 e il ramo 8.1 prima della 8.1.4.1. I rami più vecchi non riceveranno correzioni: il team di Rails scrive che le versioni precedenti non sono più supportate e consiglia di passare almeno alla serie 8.0, il cui supporto di sicurezza però finisce il 7 novembre 2026. Lo stesso rilascio corregge altri 20 problemi di sicurezza, quattro dei quali di gravità alta, tra cui un bug separato nelle anteprime video che poteva portare all'esecuzione di codice tramite FFmpeg.

Il bollettino non parla di attacchi reali. Ma una volta pubblicata la correzione, gli aggressori possono confrontare il vecchio e il nuovo codice per capire dove fosse la falla, quindi ogni giorno senza aggiornamento aumenta il rischio.

Cosa devono fare gli sviluppatori

  • Aggiornate a Rails 8.0.5.2 o 8.1.4.1. Se usate mini_magick, serve anche mini_magick 5.1 o successivo, altrimenti l'applicazione si blocca all'avvio.
  • Se non potete aggiornare subito, copiate la policy di ImageMagick della versione corretta nel policy.xml di sistema. Come minimo vietate il coder MSL, i coder di Ghostscript e il delegate gs.
  • Se i file erano salvati con il servizio Disk, cambiate secret_key_base, la master key, tutto il contenuto di credentials.yml.enc, le password di database e archivi e i token di terze parti. Il bollettino raccomanda di non tenere il vecchio segreto come riserva.
  • Se l'applicazione genera PDF o PostScript tramite ImageMagick, dopo aver applicato la policy riabilitate solo i coder che le servono.

Chi usa siti fatti con Rails non deve installare nulla. Il rischio per loro è che i dati dei clienti di un negozio o servizio non aggiornato vengano rubati, e questo dipende da quanto in fretta ne aggiornano gli sviluppatori.

ruby on railsimagemagickvulnerabilitàaggiornamento di sicurezzaopen sourceserverviolazione dei daticybersicurezza

Leggi anche