10 ene 2013

Vulnerabilidad de inyección SQL en Ruby on Rails

Los desarrolladores de Ruby on Rails advierten de una vulnerabilidad de inyección SQL que afecta a todas las versiones actuales del framework web. Las nuevas versiones de Ruby on Rails, 3.2.10, 3.1.9 y 3.0.18 ya están disponibles. Se recomienda que todos los usuarios se actualicen inmediatamente.

El problema, de acuerdo con el aviso, es que debido a la forma dinámica en que se extraen las opciones desde el método "params", un parámetro puede ser usado como un campo de aplicación y se podría inyectar un SQL arbitrario. Los buscadores dinámicos utilizan el método "name" para determinar qué campo se está buscando, por lo que una sentencia del tipo:

Post.find_by_id (params [: id])

sería vulnerable a un ataque y se podría inyectar:

User.find_by_id({:select =>"* from users limit 1 --"})

User Load (0.5ms) SELECT * from users limit 1 -- FROM "users" WHERE "users"."id" IS NULL LIMIT 1


El problema original se dio a conocer en el blog Phenoelit a finales de diciembre, donde el autor aplica la técnica para extraer las credenciales de usuario de un sistema de Ruby on Rails, eludiendo el marco de autenticación Authlogic.

Fuente: Seguridad UNAM

Suscríbete a nuestro Boletín

0 Comments:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!