Patch Glibc para vulnerabilidade getaddrinfo()

Patch Glibc para vulnerabilidade getaddrinfo()

Tenho visto muito sobre a vulnerabilidade recém-descoberta na biblioteca glibc que pode ser explorada (embora com dificuldade) por invasores.

Aqui está um artigo (fogo e enxofre) sobre o assunto: http://arstechnica.com/security/2016/02/extremely-severe-bug-leaves-dizzying-number-of-apps-and-devices-vulnerable/

Entendo a natureza da vulnerabilidade, mas devo admitir que fico um pouco perdido ao ler a solução do patch. Parece que várias etapas precisam ser executadas na máquina, mas diz que um “patch” está anexado ao e-mail.

Onde está o patch exatamente?

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

Peço desculpas, mas não sou um engenheiro de sistema Linux (aptitude e yum são meus amigos).

Infelizmente, eu gerencio alguns sites para clientes, principalmente no Amazon Linux, que li que também podem ser suscetíveis - vamos supor que sejam.

Eu só quero ter certeza de que protejo as caixas, provavelmente sou capaz de aplicar o patch, mas acho que estou confuso com o arquivo de e-mail da glibc.

Alguém pode esclarecer isso - ou seja, colocá-lo em uma linguagem que nós, desenvolvedores da Web front-end, possamos entender?

Eu sei que isso é novo/em evolução, tenho certeza de que documentos melhores estarão disponíveis nos próximos dias.

Desde já, obrigado.

Responder1

Se você estiver usando qualquer distribuição razoavelmente bem suportada, não precisará do patch original em si. A maioria das distribuições já teria atualizado a libc e enviado para seus repositórios, e tudo que você precisa fazer é usar o gerenciador de pacotes para atualizar a libc. (Se ainda não o fizeram, considere seriamente mudar de distribuição.) E este é realmente o caso do Amazon Linux. Deseus boletins de segurança:

[C]ustantes que usam o Amazon EC2 e que modificaram suas configurações para usar infraestrutura DNS não AWS devem atualizar seus ambientes Linux imediatamente seguindo as instruções fornecidas pela distribuição Linux. Os clientes EC2 que usam a infraestrutura DNS da AWS não são afetados e não precisam realizar nenhuma ação.

Para clientes do Amazon EC2 que usam Amazon Linux e que modificaram suas configurações para usar infraestrutura DNS não AWS:

Uma correção para CVE-2015-7547 foi enviada aos repositórios Amazon Linux AMI, com uma classificação de gravidade Crítica. As instâncias executadas com a configuração padrão do Amazon Linux a partir de 16/02/2016 incluirão automaticamente a correção necessária para esse CVE.

O patch, se você quiser dar uma olhada, é a parte que começa diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.cno e-mail:

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;
+    }

...

informação relacionada