Recentemente è stata individuata una vulnerabilità a carico di Rails SQL che riguarderebbe tutte le versioni di Ruby on Rails; si tratterebbe in pratica di una falla che permetterebbe l'esecuzione di attacchi di tipo SQL injection attraverso i metodi dynamic finder; eventuali exploit dovrebbero però poter essere efficaci soltanto in determinati contesti, come per esempio nel caso in cui si utilizzi Authlogic per l'autenticazione e sia noto il secret token di sessione.
Come è noto, per operare con le basi di dati il framework fornisce dei finder methods per i models ActiveRecord, ad esempio "User.find(params[:id])" per una chiave primaria messa a disposizione tramite un parametro di input denominato "id"; vengono poi forniti dynamic finder che producono un metodo find_by_* per le colonne del model, per esempio "User.find_by_id(params[:id])". Il problema sarebbe stato riscontrato proprio in questi ultimi.
Attualmente sono già disponibili i fix per le release 3.2.10, 3.1.9 e 3.0.18, essi dovrebbero impedire che i dynamic finders nell'Active Record estrapolino opzioni dai parametri di metodo, questi ultimi potrebbero infatti essere adottati erroneamente come scope utilizzabile quale tramite per SQL injection.
Posto che un aggiornamento sarebbe comunque consigliabile, è bene precisare che, almeno basandosi sulle analisi effettuate, la vulnerabilità non dovrebbe affliggere i comuni finder methods, inoltre non dovrebbero essere possibili exploit tramite request parameters; va poi detto che tale bug non significa che il framework non operi alcuni filtro sugli input SQL ricevuti. Analogamente, andrebbe infine precisato che la falla non riguarda il già citato Authlogic ma ROR stesso.