CVE-2026-66066: Vulnerabilità critica di Rails espone file del server tramite caricamenti di immagini

CVE-2026-66066: Vulnerabilità critica di Rails espone file del server tramite caricamenti di immagini

SOC Prime Team
SOC Prime Team linkedin icon Segui

Add to my AI research

Ruby on Rails ha rilasciato aggiornamenti di sicurezza per una vulnerabilità critica di Active Storage che può permettere a un attaccante non autenticato di leggere file arbitrari da un server applicativo tramite caricamenti di immagini manipolati. Tracciato come CVE-2026-66066 e valutato 9.5 sulla scala CVSS, il difetto può esporre segreti accessibili al processo Rails e potenzialmente abilitare l’esecuzione di codice remoto o movimento laterale nei sistemi connessi.

Il problema deriva dall’interazione tra Active Storage e libvips, la libreria di elaborazione delle immagini selezionata dalle applicazioni Rails che utilizzano load_defaults dalla versione 7.0 in poi. In una configurazione di Rails che accetta caricamenti di immagini da utenti non fidati, operazioni non sicure di libvips possono elaborare un file malevolo e divulgare dati che non dovrebbero mai essere accessibili tramite un’immagine caricata.

I dettagli più importanti per CVE-2026-66066 riguardano la sensibilità delle informazioni potenzialmente esposte. Un attaccante può recuperare l’ambiente del processo Rails, secret_key_base, la chiave master di Rails, credenziali del database, chiavi di archiviazione cloud e token API di terze parti. A seconda dei segreti ottenuti, l’attacco può progredire dalla divulgazione arbitraria di file alla falsificazione della sessione, alla compromissione dell’applicazione o all’accesso all’infrastruttura esterna.

Analisi di CVE-2026-66066

La debolezza risiede nell’elaborazione delle varianti di Active Storage quando l’applicazione utilizza libvips. Libvips supporta numerosi loader, savers e altre operazioni per la gestione di formati di file. Alcune di queste operazioni dipendono da librerie di terze parti e sono classificate come “non fuzzate” o non fidate perché non sicure per l’elaborazione di input ostili.

Active Storage non ha bloccato queste operazioni prima di passare gli allegati caricati all’analizzatore e trasformatore di Vips. Di conseguenza, un caricamento manipolato può invocare un’operazione non sicura e ottenere il contenuto di file arbitrari leggibili dal lavoratore Rails.

Nei scenari più gravi, gli attaccanti leggono i file del server tramite caricamenti di immagini e recuperano valori sensibili dall’ambiente applicativo. Il difetto non richiede un redimensionamento dedicato o una funzione di anteprima per essere esposto. Secondo l’avviso Rails, la generazione di varianti di immagine non è un requisito separato affinché un’applicazione sia vulnerabile.

CVE-2026-66066 colpisce applicazioni che soddisfano entrambe le seguenti condizioni:

  • Usano libvips per l’elaborazione delle immagini di Active Storage, tipicamente tramite config.active_storage.variant_processor = :vips.
  • Permettono a utenti non fidati di caricare immagini.

Gli intervalli di versioni segnalati includono Rails dalla 7.0.0 alla 7.2.3.1, Rails dalla 8.0.0 alla 8.0.5, e Rails dalla 8.1.0 alla 8.1.3. Anche le applicazioni Rails 6.0 e 6.1 possono essere esposte quando gli amministratori configurano esplicitamente Vips come processore immagine, sebbene non fosse quello predefinito per quei rilasci. Le applicazioni che usano MiniMagick invece di Vips non sono esposte attraverso questo particolare percorso d’attacco.

Una volta che è stata raggiunta la lettura arbitraria dei file, gli attaccanti possono mirare a:

  • secret_key_base
  • config/master.key o la variabile d’ambiente RAILS_MASTER_KEY
  • Segreti decriptati da config/credentials.yml.enc
  • Nomi utente e password del database
  • Chiavi di archiviazione Amazon S3, Google Cloud o Azure
  • Token per pagamenti, messaggi, monitoraggio e altri servizi di terze parti

Ottenere secret_key_base può essere particolarmente pericoloso perché Rails lo utilizza per proteggere i dati applicativi firmati e crittografati. A seconda dell’applicazione e delle catene di gadget disponibili, un valore rubato può permettere a un attaccante di forgiare dati fidati e potenzialmente progredire fino all’esecuzione del codice. Le credenziali Cloud o API possono anche supportare il movimento laterale oltre il server Rails compromesso.

Un PoC di terze parti per CVE-2026-66066 è apparso poco dopo la divulgazione coordinata e afferma di riprodurre una catena di lettura di file arbitrari a RCE in un ambiente Docker isolato. The Hacker News non aveva verificato indipendentemente quel codice al momento del suo rapporto aggiornato, mentre i team di ricerca originali avevano intenzionalmente ritirato i dettagli meccanici dell’exploit per dare tempo agli amministratori di applicare le patch.

Non ci sono attualmente IOCs pubblicati dal fornitore per CVE-2026-66066 o rapporti confermati di sfruttamento in natura. Il Team di Sicurezza Rails ha detto di non essere a conoscenza di tentativi di sfruttamento prima o dopo la divulgazione, ma l’assenza di attacchi noti non dovrebbe essere interpretata come prova che le applicazioni esposte siano sicure.

Mitigazione di CVE-2026-66066

Gli amministratori dovrebbero aggiornare Active Storage a uno dei seguenti rilasci corretti:

  • Rails 7.2.3.2 o successivi
  • Rails 8.0.5.1 o successivi
  • Rails 8.1.3.1 o successivi

Rails 7.0 e 7.1 non sono più supportati per la sicurezza e non riceveranno una correzione retroportata. Le applicazioni che eseguono questi rami dovrebbero migranetrize a Rails 7.2.3.2 o a un rilascio supportato più recente.

La configurazione corretta richiede anche libvips 8.13 o successivi. Le applicazioni che utilizzano direttamente la gemma ruby-vips dovrebbero eseguire ruby-vips 2.2.1 o successivi. La correzione chiama Vips.block_untrusted(true) durante l’inizializzazione di Active Storage, prevenendo che operazioni libvips non sicure elaborino caricamenti ostili.

L’aggiornamento chiude il percorso di elaborazione vulnerabile, ma non invalida i segreti che possono già essere stati divulgati. Le organizzazioni dovrebbero trattare ogni valore leggibile dal processo dell’applicazione Rails come potenzialmente compromesso e ruotarlo. Questo include i segreti di firma dell’applicazione, le chiavi master, le credenziali del database, le chiavi di servizio di archiviazione e i token di terze parti.

Cambiare secret_key_base invaliderà le sessioni attive e richiederà agli utenti di accedere di nuovo. Influenza anche i cookie crittografati, i cookie firmati, gli ID globali firmati e gli URL di Active Storage precedentemente emessi. Gli amministratori non dovrebbero mantenere un segreto esposto come fallback dopo la rotazione.

Quando un aggiornamento immediato di Rails non è possibile, le applicazioni che usano libvips 8.13 o successivi possono impostare la seguente variabile d’ambiente:

VIPS_BLOCK_UNTRUSTED

Le applicazioni che utilizzano ruby-vips 2.2.1 o successivi possono alternativamente aggiungere la seguente chiamata a un inizializzatore:

Vips.block_untrusted(true)

Le versioni di Libvips anteriori alla 8.13 non possono bloccare le operazioni non sicure. In quegli ambienti, non c’è una soluzione di lavoro sicura solo configurativa. Gli amministratori devono aggiornare libvips o rimuovere la dipendenza, ad esempio rimuovendo ruby-vips dal Gemfile dove non è richiesta.

Il rilevamento di CVE-2026-66066 dovrebbe iniziare con un inventario delle applicazioni che usano Active Storage, Vips e caricamenti di immagini non fidati. I team di sicurezza dovrebbero rivedere i log delle applicazioni e dei proxy per attività di caricamento insolite, formati di immagini inaspettati, errori ripetuti di elaborazione delle varianti e richieste seguite da un uso sospetto di sessioni o credenziali.

Per rilevare l’esposizione a CVE-2026-66066, i team dovrebbero verificare le esatte versioni di Active Storage, libvips e ruby-vips piuttosto che fare affidamento solo sulla principale versione di Rails. Le applicazioni dovrebbero anche essere esaminate per evidenze di accesso non autorizzato coinvolgendo credenziali che erano disponibili per il processo Rails.

Proof of Value

 

FAQ

Che cos’è CVE-2026-66066 e come funziona?

CVE-2026-66066 è una vulnerabilità critica di lettura arbitraria dei file in Ruby on Rails Active Storage. Active Storage ha permesso a operazioni libvips non sicure di elaborare caricamenti controllati da attaccanti, permettendo a un utente non autenticato di recuperare file leggibili dal processo applicativo Rails. I segreti dell’applicazione rubati possono poi supportare l’esecuzione di codice remoto o movimento laterale.

Quando è stato scoperto per la prima volta CVE-2026-66066?

Le date di scoperta private non sono state pubblicamente divulgate. Il problema è stato segnalato indipendentemente da ricercatori di Ethiack e GMO Flatt Security, e l’avviso di sicurezza coordinato di Rails è stato pubblicato il 29 luglio 2026.

Qual è l’impatto di CVE-2026-66066 sui sistemi?

L’impatto diretto è la divulgazione arbitraria dei file. Gli attaccanti possono ottenere segreti di firma dell’applicazione, credenziali Rails, password del database, chiavi di archiviazione cloud o token di terze parti. A seconda dei dati esposti e della configurazione dell’applicazione, la compromissione può aumentare fino alla falsificazione della sessione, all’esecuzione di codice remoto o all’accesso a servizi connessi.

CVE-2026-66066 può ancora colpirmi nel 2026?

Sì. Le applicazioni Rails restano esposte se usano una versione di Active Storage vulnerabile, elaborano immagini con libvips e accettano caricamenti da utenti non fidati. Le applicazioni Rails 7.0 e 7.1 non più supportate sono anche a rischio e devono essere aggiornate a un ramo supportato.

Come posso proteggermi da CVE-2026-66066?

Aggiornare a Rails 7.2.3.2, 8.0.5.1, 8.1.3.1 o a un rilascio successivo; assicurarsi che libvips sia versione 8.13 o più recente; e utilizzare ruby-vips 2.2.1 o successivi dove applicabile. Ruotare tutti i segreti disponibili al processo dell’applicazione e rivedere l’attività di carico per possibili sfruttamenti.

Unisciti alla piattaforma Detection as Code di SOC Prime per migliorare la visibilità sulle minacce più rilevanti per il tuo business. Per aiutarti a iniziare e aumentare immediatamente il valore, prenota ora un incontro con gli esperti di SOC Prime.

More Articles