CSIRTCV

Está usted visitando una publicación en la hemeroteca de CSIRT-CV.
Para acceder al portal y contenido actual, visite https://www.csirtcv.gva.es

29/11/2013

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

Riesgo: Crítico

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.

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.
https://www.ruby-lang.org/en/downloads/
Sistemas Afectados:
Las versiones afectadas que deben ser actualizadas urgentemente son:
Referencias:

CVE-2013-4164

Solución:

Actualizar las ramas 2.1x, 2.x y 1.9x. La rama 1.8x no tiene soporte.

Notas:
Heap Overflow in Floating Point Parsing (CVE-2013-4164)

 

Fuente: Hispasec una-al-día

CSIRT-CV