17 feb 2016

Vulnerabilidad altamente crítica en glibc (Parchea YA!)

¿Usas Linux, PHP, SSH, Python? Esto te interesa. Se ha sido descubierta una vulnerabilidad altamente crítica en la biblioteca GNU C (glibc), un componente clave de la mayoría de las distribuciones de Linux. Este error deja casi todas las máquinas Linux, miles de aplicaciones y dispositivos electrónicos vulnerables para que delincuentes tomen completo control de ellos.
La biblioteca GNU C (glibc) es una colección de código abierto que es la base de miles de aplicaciones independientes y la mayoría de las distribuciones de Linux, distribuciones de routers y otros tipos de hardware.

Sólo hacer clic en un enlace o conexión a un servidor puede resultar en la ejecución de código remoto (RCE), permitiendo robar credenciales, espiar a los usuarios, hacerse con el control de las computadoras, etc. Esta vulnerabilidad es similar a la anterior del año pasado como conocida GHOST (CVE-2015-0235) que dejó innumerables máquinas vulnerables a ataques de ejecución remoto de código (RCE).

La nueva vulnerabilidad indexada como CVE-2015-7547, es una vulnerabilidad de desbordamiento de búfer de pila en la resolución de cliente DNS, en el lado del cliente. Este error se desencadena cuando se invoca la función getaddrinfo(), que realiza búsquedas de nombres de dominio, y al enviar respuestas DNS de un tamaño mayor a 2.048 bytes, permitiendo a los atacantes ejecutar código remotamente.

¿Cómo funciona la falla?

El defecto puede ser aprovechado cuando una aplicación o dispositivo afectado realiza consultas a un servidor DNS malicioso, que devuelve mucha información a la petición y ocurre una "inundación" de memoria con código enviado por el atacante. Este código luego compromete la aplicación vulnerable e intenta tomar el control sobre todo el sistema.

Todas las versiones de glibc posteriores a la versión 2.9 son vulnerables. Por lo tanto, cualquier software o aplicación que se conecta a la red y utilice glibc está en riesgo.

La vulnerabilidad se podría extender a casi todos lo software principales, incluyendo:
  • Prácticamente todas las distribuciones de Linux
  • Lenguajes de programación como Python, PHP y Ruby on Rails
  • Código de Linux que buscan la dirección IP de un dominio en Internet
  • La mayoría del software Bitcoin al parecer también son vulnerables.

Quiénes no son afectado

La buena noticia es que los usuarios de Android no son vulnerables a esta falla porque Google utiliza un sustituto de glibc conocido como no es vulnerable.

iOS y Android no incluyen glibc por defecto, así que sólo serían vulnerables si una aplicación lo introdujo en el sistema operativo. Android utiliza la librería Bionic y BSD/OSX/iOS no usan glibc.

Además, muchos dispositivos Linux embebidos, incluyendo routers hogareños y gadgets no son afectados por el error ya que estos dispositivos utilizan la biblioteca uclibc, una versión más ligera que glibc.

La vulnerabilidad fue introducida en mayo de 2008, pero se informó a los mantenedores de glibc en julio de 2015. Es decir que vulnerabilidad ha estado allí desde la versión 2.9, lanzada en mayo de 2008 y recién ahora ha sido encontrada y publicada.

La vulnerabilidad fue descubierta independientemente por los investigadores de Google y Red Hat, que encontraron que la vulnerabilidad no sido utilizada públicamente.

Prueba de concepto y exploit liberado

Fermin J. Serna de Google lanzó un exploit y prueba de concepto (PoC) con la cual se puede verificar si un dispositivo o aplicación se ve afectado.

Parchea!

Los investigadores de Google y de Red Hat han lanzado un parche para arreglar el error. Sin embargo, ahora depende de la comunidad detrás del sistema operativo Linux y de los fabricantes, para publicar el parche en cada uno de los software y dispositivos afectados. En este momento la mayoría de los fabricantes conocidos han publicado sus actualizaciones:
Los administradores de servidores deben instalar la actualización lo más rápido posible.

Para información más detallada sobre el defecto de glibc, puedes leer el post de blog de Red Hat.

Fuente: The Hacker News

Suscríbete a nuestro Boletín

7 comentarios:

  1. Se perchea simplemente haciendo apt-get update?

    ResponderBorrar
    Respuestas
    1. Si tu distribución ya actualizó, sí.

      Borrar
    2. Y reiniciando todos los servicios que utilicen la librería (sino queda parcheada en el disco, pero no en la memoria de todos los procesos que la cargaron al arrancar), mucho mejor seria reiniciar el servidor.

      Borrar
  2. Perdon por esta pregunta no?, pero...

    "La vulnerabilidad fue introducida en mayo de 2008, pero se informó a los mantenedores de glibc en julio de 2015."

    No entiendo esto, cual es la razon por la cual se conoce la vulnerabilidad hace rato y se da aviso mucho despues?.
    Es que alguien saca ventaja de esto?.

    Agradezco ayuden a este ignorante.
    Saludos.

    ResponderBorrar
    Respuestas
    1. "Fue introducida" significa que en ese momento un programador cometió el error, pero nadie se dio cuenta hasta ahora. Saben que fue en 2008 por el versionado de la biblioteca.

      Borrar
    2. Entendido Cristian, el que sabe, sabe.
      Muchas gracias por tu respuesta!.
      Saludos.-

      Borrar
    3. La pregunta es válida, pero no en cuanto a 2008, sino a julio 2015. Ya pasaron 9 meses desde que se conoce la existencia de la vulnerabilidad para unos pocos (NSA inclusive), seguro la estaban usando para penetrar a cualquier servidor linux.

      Borrar

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!