Icono del sitio Una al Día

Nuevas versiones de Ruby corrigen ejecución remota de código

El lenguaje de programación Ruby ha actualizado sus ramas 2.1x, 2.x y 1.9.x para resolver una vulnerabilidad remota que permitiría realizar una denegación de servicio y potencialmente la ejecución de código arbitrario.
La vulnerabilidad, con CVE-2013-4164, común a todas las versiones indicadas, se debe a un fallo a la hora de procesar valores en coma flotante, localizado en el archivo ‘util.c‘ (función ruby_strtod).
Según su descubridor Charlie Somerville (@charliesome), desarrollador de Ruby, cuando se realiza una conversión de determinadas cadenas a valores en coma flotante se produce un desbordamiento de memoria basado en pila que es potencialmente utilizable para la ejecución remota de código a través de valores especialmente manipulados.
Aunque no existe un exploit por el momento, Charlie ha indicado que cualquier código vulnerable produce el desbordamiento de memoria al utilizar métodos o funciones que conviertan tipos desde orígenes desconocidos a coma flotante, como «to_f» o el habitual «JSON.parse«:
  Cadena_vulnerable.to_f
  JSON.parse Cadena_vulnerable
Se trataría de una vulnerabilidad similar a la ya corregida en el CVE-2009-0689.
Las versiones afectadas que deben ser actualizadas urgentemente son:

Aquellos usuarios que todavía utilicen la rama 1.8 deberán migrar sus sistemas a las nuevas, ya que no hay soporte oficial para la misma.
Más información:
Heap Overflow in Floating Point Parsing (CVE-2013-4164)
  
José Mesa Orihuela

Acerca de Hispasec

Hispasec Ha escrito 7037 publicaciones.

Salir de la versión móvil