CSIRTCV

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

Injecció SQL en Ruby on Rails

S’ha publicat una nova versió de Ruby on Rails que soluciona diversos problemes de seguretat. El més greu permetria a un atacant injectar consultes SQL i obtindre informació sensible de les taules en una base de dades.

Risc: Alt

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.

Sistemes Afectats:

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

Font: Hispasec una-al-día

CSIRT-CV