Está usted visitando una publicación en la hemeroteca de CSIRT-CV.
Para acceder al portal y contenido actual, visite https://www.csirtcv.gva.es
05/06/2012
Ruby on Rails, també conegut com RoR o Rails, és un framework d'aplicacions web de codi obert escrit en Ruby que seguix el paradigma de l’arquitectura Model-Vista-Controlador (MVC).
Ben Murphy va descobrir una vulnerabilitat en Active Record, que és la classe que s’encarrega de tot el referent a connexions i consultes a la base de dades. L’error residix en la manera en què esta classe maneja els paràmetres d’una petició, deixant la possibilitat que un atacant remot puga dur a terme injeccions SQL a través d’una petició especialment manipulada.
Esta vulnerabilitat té com identificador CVE-2012-2661 i afecta les versions 3.0.0 i anteriors a excepció de la versió 2.3.14, que no és vulnerable.
Afecta les versions 3.0.0 i anteriors a excepció de la versió 2.3.14, que no és vulnerable.
Referències:CVE-2012-2661
Solució:Encara que s’han publicat noves versions que solucionen este i altres fallades, un simple canvi en el codi pot ser una contramesura eficaç per a esta vulnerabildiad. És necessari forçar el tipus del paràmetre perquè siga una cadena (string). Per tant, si es té esta consulta:
Post.where(:id => params[:id]).all
S’hauria de canviar per esta altra:
Post.where(:id => params[:id].to_s).all
S’han publicat pegats per a les branques 3.0, 3.1 i 3.2. Els usuaris de versions anteriors (que ja no tenen suport) hauran d’implementar la contramesura anterior o actualitzar a les últimes versions (3.2.4, 3.1.5 o 3.0.13).
Notes:Rails version 3.2.5 has been released!
http://weblog.rubyonrails.org/
SQL Injection Vulnerability in Ruby on Rails
https://groups.google.com/group/rubyonrails-security/browse_thread/thread/7546a238e1962f59?pli=1