sábado, 29 de junio de 2013

Nuevas versiones de Ruby corrigen dos vulnerabilidades remotas

El lenguaje de programación Ruby ha actualizado sus ramas 2.x, 1.9.x y 1.8.x para resolver dos vulnerabilidades remotas que permitirían realizar ataques Man-In-The-Middle o denegaciones de servicio.

La vulnerabilidad CVE-2013-4073, común a todas las versiones indicadas, se debería a un fallo en el cliente SSL encargado de gestionar las conexiones SSL realizadas por las aplicaciones programadas en Ruby, y que permitiría suplantar servidores SSL benignos u oficiales con servidores especialmente manipulados, destinados a usos fraudulentos.

Técnicamente, la función encargada de comprobar la identidad del nombre de servidor SSL, 'OpenSSL::SSL.verify_certificate_identity', no gestiona correctamente aquellos certificados X509 en los que aparezcan valores nulos, dentro del campo SubjectAltName.

Específicamente el error viene provocado por el uso de sprintf() dentro de las funciones para extraer los campos del certificado, que no es particularmente segura a la hora de gestionar valores nulos. Por ello, si se recibe en un certificado un campo del estilo:

"www.hispasec.com\0.servidorfalso.com"

Ruby interpretaría incorrectamente su valor, identificándolo como uno oficial: "www.hispasec.com" pero facilitando la falsificación de certificados entre cliente-servidor SSL y un posible ataque MITM.

La otra vulnerabilidad, sólo presente en la rama 1.8.x, permitiría realizar una denegación de servicio a través de XML.

El parser REXML posee una vulnerabilidad al procesar los nodos de un documento XML y cargar las entidades del mismo, y si éstas son demasiado grandes podría llegar a consumir los recursos del servidor (CVE-2013-1821), a través de un documento XML especialmente manipulado (ataque XML bomb).

Las versiones afectadas que deben ser actualizadas urgentemente son:
Rama 1.8.x anterior a 1.8.7 p374
Rama 1.9.x anterior a 1.9.3 p448
Rama 2.x.x anterior a 2.0.0 p247

Más información:

Hostname check bypassing vulnerability in SSL client (CVE-2013-4073)

Entity expansion DoS vulnerability in REXML (XML bomb, CVE-2013-1821)


José Mesa Orihuela


No hay comentarios:

Publicar un comentario en la entrada