domingo, 29 de noviembre de 2009

Cross-Site Scripting en Ruby on Rails

Se ha anunciado una vulnerabilidad que podría permitir la realización de ataques de cross-site scripting en Ruby on Rails.

Rails es un entorno para desarrollar aplicaciones web con base de datos de acuerdo con la estructura Model-View-Control. Desde el Ajax en la vista, a la petición y respuesta en el controlador, hasta el modelo, Rails da un entorno de desarrollo de Ruby. Ruby es un lenguaje de programación interpretado y reflexivo que combina una sintaxis inspirada en Python y Perl con características de programación orientada a objetos similares a Smalltalk.

El problema reside en la función The strip_tags() que no filtra adecuadamente de la entrada del usuario los caracteres ascii no imprimibles antes de mostrar la entrada. En las aplicaciones que usen la función strip_tags(), un atacante remoto podría crear una URL especialmente tratada para lograr la ejecución arbitraria de código script en el navegador del usuario. El código se origina desde el sitio que ejecuta Ruby on Rails en el contexto de seguridad de este sitio. Con ello el atacante podría acceder a las cookies (incluyendo las de autenticación) y a información recientemente enviada, además de poder realizar acciones en el sitio haciéndose pasar por la víctima.

Se ha publicado la versión 2.3.5 que corrige este problema:


laboratorio Hispasec
laboratorio@hispasec.com


Más información:

Ruby on Rails 2.3.5 Released
http://weblog.rubyonrails.org/2009/11/30/ruby-on-rails-2-3-5-released

XSS Weakness in strip_tags
http://groups.google.com/group/rubyonrails-security/browse_thread/thread/4d4f71f2aef4c0ab

No hay comentarios:

Publicar un comentario en la entrada