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

04/06/2012

Injecció SQL en Ruby on Rails

Se ha publicado una nueva versión de Ruby on Rails que soluciona varios problemas de seguridad. El más grave, permitiría a un atacante inyectar consultas SQL y obtener información sensible de las tablas en una base de datos.

Risc: Mitjà

Ruby on Rails, también conocido como RoR o Rails, es un framework de aplicaciones web de código abierto escrito en Ruby que sigue el paradigma de la arquitectura Modelo-Vista-Controlador (MVC).

Ben Murphy descubrió una vulnerabilidad en Active Record, que es la clase que se encarga de todo lo referente a conexiones y consultas a la base de datos. El error reside en el modo en el que esta clase maneja los parámetros de una petición, dejando la posibilidad a que un atacante remoto pueda llevar a cabo inyecciones SQL a través de una petición especialmente manipulada.
Aunque se han publicado nuevas versiones que solucionan este y otros fallos, un simple cambio en el código puede ser una contramedida eficaz para esta vulnerabildiad. Es necesario forzar el tipo del parámetro para que sea una cadena (string). Por lo tanto, si se tiene esta consulta:
Post.where(:id => params[:id]).all

Se debería cambiar por esta otra:
Post.where(:id => params[:id].to_s).all
Sistemes Afectats:

Esta vulnerabilidad tiene como identificador CVE-2012-2661 y afecta a las versiones 3.0.0 y anteriores con excepción de la versión 2.3.14, que no es vulnerable.

Referències:

CVE-2012-2661

Solució:

Se han publicado parches para las ramas 3.0, 3.1 y 3.2. Los usuarios de versiones anteriores (que ya no tienen soporte) deberán implementar la contramedida anterior o actualizar a las últimas versiones (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