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:
sería vulnerable a un ataque y se podría inyectar:
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
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
0 Comments:
Publicar un comentario
Gracias por dejar un comentario en Segu-Info.
Gracias por comentar!