I diversi rami di sviluppo del framework sono stati aggiornati alle versioni Rails 3.2.12, 3.1.11 e 2.3.17, le prime due release sono state rilasciate per la correzione di una vulnerabilità mentre sarebbero ben due i security fix introdotti con la 2.3.17; si tratta del secondo upgrade resosi necessario nel corso delle ultime settimane per la rimozione di falle a carico della nota soluzione Open Source realizzata in Ruby.
Tutte le versioni precedenti a quelle appena rilasciate sarebbero state affette da una vulnerabilità a carico dell'attr_protected nell'ActiveRecord, nello specifico si tratta di un metodo che permette la definizione di una blacklist di attributi per i model in modo che la loro assegnazione non sia consentita gli utenti; richieste HTTP appositamente confezionate avrebbero permesso di rendere inefficace la lista alterandone i valori specificati.
Una possibile strada per evitare tale problema senza aggiornamento consisterebbe nell'utilizzo di attr_accessible in luogo del metodo citato, ma si consiglia comunque di evitare se possibile i workaround procedendo con un upgrade.
Le versioni 2.3.x e 3.0.x e tutte le precedenti presentavano invece una vulnerabilità relativa alla serializzazione degli attributi; attacchi di tipo Denial of Service o Remote Code Execution avrebbero potuto essere scatenati contro le applicazioni che consentono l'assegnazione diretta dei campi serializzati nei models.
Nello specifico l'helper "+serialize+" nell'Active Record permette di archviare oggetti serializzati ad una colonna di tipo BLOB; sia tale operazione che la deserializzazione sono possibili tramite YALM, ma in presenza della falla una richiesta appositamente concepita potrebbe causarne arbitrariamente la deserializzazione.
L'unico workaround possibile sarebbe stato quindi l'impossibilità degli utenti di effettuare assegnazioni per le colonne serializzate.
Insieme agli aggiornamenti citati, è stata rilasciata anche una nuova JSON gem che dovrebbe risolvere due vunerabilità relative a possibili attacchi di tipo Denial of Service e alla generazione di oggetti non sicuri.
Via | Rails blog