Parche Glibc para la vulnerabilidad getaddrinfo()

Parche Glibc para la vulnerabilidad getaddrinfo()

He estado viendo mucho sobre la vulnerabilidad recién descubierta en la biblioteca glibc que los atacantes pueden explotar (aunque con dificultad).

Aquí hay un artículo (fuego y azufre) sobre el tema: http://arstechnica.com/security/2016/02/extremely-severe-bug-leaves-dizzying-number-of-apps-and-devices-vulnerable/

Entiendo la naturaleza de la vulnerabilidad, pero debo admitir que me pierdo un poco al leer la solución del parche. Parece que es necesario seguir varios pasos en la máquina, pero dice que hay un "parche" adjunto al correo electrónico.

¿Dónde está el parche exactamente?

https://sourceware.org/ml/libc-alpha/2016-02/msg00416.html

Pido disculpas, pero no soy un ingeniero de sistemas Linux (aptitude y yum son mis amigos).

Desafortunadamente, administro algunos sitios para clientes, principalmente en Amazon Linux, y he leído que también pueden ser susceptibles; supongamos que lo son.

Sólo quiero asegurarme de asegurar las cajas, probablemente soy capaz de aplicar el parche, pero creo que el archivo de correo glibc me confunde.

¿Alguien puede arrojar algo de luz sobre esto, es decir, ponerlo en un lenguaje que nosotros, los humildes desarrolladores web front-end, podamos entender?

Sé que esto es nuevo/está en evolución. Estoy seguro de que habrá mejores documentos disponibles en los próximos días.

Gracias de antemano.

Respuesta1

Si está utilizando una distribución con un soporte razonable, no necesita el parche original. La mayoría de las distribuciones ya habrían actualizado libc y lo habrían enviado a sus repositorios, y todo lo que necesita hacer es usar el administrador de paquetes para actualizar libc. (Si aún no lo han hecho, consideren seriamente cambiar de distribución). Y este es, de hecho, el caso de Amazon Linux. Desus boletines de seguridad:

[L]os clientes que utilizan Amazon EC2 y que han modificado sus configuraciones para utilizar una infraestructura DNS que no sea de AWS deben actualizar sus entornos Linux inmediatamente siguiendo las instrucciones proporcionadas por su distribución de Linux. Los clientes de EC2 que utilizan la infraestructura DNS de AWS no se ven afectados y no necesitan realizar ninguna acción.

Para clientes de Amazon EC2 que utilizan Amazon Linux y que han modificado su configuración para utilizar una infraestructura DNS que no sea de AWS:

Se envió una solución para CVE-2015-7547 a los repositorios AMI de Amazon Linux, con una clasificación de gravedad Crítica. Las instancias lanzadas con la configuración predeterminada de Amazon Linux a partir del 16/02/2016 incluirán automáticamente la solución requerida para este CVE.

El parche, si quieres verlo, es la parte que comienza diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.cen el correo electrónico:

CVE-2015-7547

2016-02-15  Carlos O'Donell  

    [BZ #18665]
    * resolv/nss_dns/dns-host.c (gaih_getanswer_slice): Always set
    *herrno_p.
    (gaih_getanswer): Document functional behviour. Return tryagain
    if any result is tryagain.
    * resolv/res_query.c (__libc_res_nsearch): Set buffer size to zero
    when freed.
    * resolv/res_send.c: Add copyright text.
    (__libc_res_nsend): Document that MAXPACKET is expected.
    (send_vc): Document. Remove buffer reuse.
    (send_dg): Document. Remove buffer reuse. Set *thisanssizp to set the
    size of the buffer. Add Dprint for truncated UDP buffer.

diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
index a255d5e..47cfe27 100644
--- a/resolv/nss_dns/dns-host.c
+++ b/resolv/nss_dns/dns-host.c
@@ -1031,7 +1031,10 @@ gaih_getanswer_slice (const querybuf *answer, int anslen, const char *qname,
   int h_namelen = 0;

   if (ancount == 0)
-    return NSS_STATUS_NOTFOUND;
+    {
+      *h_errnop = HOST_NOT_FOUND;
+      return NSS_STATUS_NOTFOUND;
+    }

...

información relacionada