31 de enero de 2015

GHOST. Desbordamiento de buffer en glibc

 La compañía Qualys ha descubierto una vulnerabilidad de buffer overflow en glibc, la implementación de GNU de libc. Este fallo puede permitir a un atacante remoto ejecutar código con permisos del usuario ejecutando la aplicación vulnerable. Dicha vulnerabilidad se ha catlogado de Importancia 5 - Crítica
Recursos afectados
  • Potencialmente, cualquier sistema o producto que utilice glibc. Se recomienda consultar específicamente cada uno de ellos para confirmar si es vulnerable. En la sección Solución se enumeran avisos con actualizaciones para algunos de los sistemas más importantes.
  • Para comprobar si un sistema está afectado, se puede utilizar el código C que Qualys ha puesto disponible en la sección 4 de su aviso. Al ejecutar este programa, se imprime una cadena de texto por pantalla, que será vulnerable en caso de tener una versión vulnerable de glibc, o not vulnerable en caso contrario.
Recomendación
  • En general, actualizar a una versión de glibc igual o superior a glibc-2.18.
  • Los siguientes fabricantes y sistemas han publicado actualizaciones para resolver esta vulnerabilidad: 

  1. Debian https://lists.debian.org/debian-security-announce/2015/msg00025.html
  2. Red Hat: RHSA-2015-0090 https://rhn.redhat.com/errata/RHSA-2015-0090.html   y RHSA-2015-0092 https://rhn.redhat.com/errata/RHSA-2015-0092.html
  3. Ubuntu http://www.ubuntu.com/usn/usn-2485-1/
  4. Juniper http://kb.juniper.net/InfoCenter/index?actp=RSS&id=JSA10671&page=content
Detalle e Impacto de la vulnerabilidad
  • El fallo correspondiente a esta vulnerabilidad se encuentra en la función __nss_hostname_digits_dots(). Esta función, a la hora de calcular la cantidad de memoria que puede llegar a ser necesaria para almacenar el resultado producido, no tiene en cuenta un puntero destinado a almacenar los alias del host sobre el que se hace la consulta. Esto puede utilizarse para provocar un desbordamiento de buffer de 4 bytes (en sistemas de 32 bits) o de 8 bytes (en sistemas de 64 bits).
  • A su vez, este desbordamiento de buffer puede ser aprovechado por un atacante remoto para ejecutar código arbitrario con los permisos del usuario que ejecuta la aplicación vulnerable. Se ha reservado el identificador CVE-2015-0235 para esta vulnerabilidad.
  • Glibc es una implementación por parte de GNU del estándar POSIX de la librería estándar de C. Por lo tanto, se encuentra presente y se utiliza en múltiples sistemas basados en UNIX y aplicaciones críticas de los mismos. En su aviso, Qualys ha confirmado que el sistema de correo Exim, procmail, herramientas de la suite iputils o pppd, son vulnerables.
  • La primera versión vulnerable de glibc es glibc-2.2 (liberada en 2002), y la vulnerabilidad fue corregida entre las versiones glibc-2.17 y glibc-2.18 (en un commit de mayo de 2013). No obstante, la actualización no fue marcada como relevante de cara a la seguridad, por lo que puede haber sistemas que aún estén expuestos.
Más información
Fuente: INCIBE