Publicado por Michel Martens el 2009-06-10
Una vulnerabilidad de DoS ha sido descubierta en la BigDecimal, parte de la librería estándar de Ruby. La conversión de objetos del tipo BigDecimal a Float puede producir una violación de acceso a memoria (segmentation fault).
Importancia
Un atacante puede provocar un ataque de denegación de servicio (DoS, por "denial of service") al intentar que la librería BigDecimal lea un número muy grande y lo transforme en Float. Por ejemplo:
BigDecimal("9E69999999").to_s("F")
Versiones de Ruby vulnerables
1.8
- 1.8.6-p368 y todas las versiones anteriores
- 1.8.7-p160 y todas las versiones anteriores
1.9
- Las versiones 1.9.1 no están afectadas
Soluciones
1.8
Por favor, actualicen a 1.8.6-p369 o ruby-1.8.7-p173.