viernes, 2 de marzo de 2018

Denegación de servicio en ISC BIND y DHCP

ISC ha liberado nuevas versiones del cliente y servidor DHCP, así como del servidor BIND, destinadas a solucionar vulnerabilidades que abren la puerta a ataques de denegación de servicio.



Internet Systems Consortium es una organización dedicada al desarrollo de software y consultoría orientada al soporte de la infraestructura de Internet. Entre otros, es conocida por el desarrollo de BIND, un servidor de nombres de dominio (DNS) y DHCP, una implementación cliente-servidor del protocolo con el mismo nombre. Ambos productos son muy usados en sistemas de todo el mundo y presentan vulnerabilidades que comentamos a continuación, todas ellas permitiendo denegación de servicio. Afortunadamente, a estas alturas no se tiene constancia de que estas vulnerabilidades se estén explotando en la red.

La primera de ellas, con identificador CVE-2018-5732, se produce en el cliente de DHCP, conocido como dhclient. Concretamente, tiene lugar al procesar una respuesta de un servidor DHCP, que si tiene una sección de opciones especialmente diseñada, puede ocasionar un desbordamiento de memoria y el consiguiente cierre inesperado del cliente. No se descarta la posiblidad de ejecutar código arbitrario en algunas circunstancias. Esta vulnerabilidad fue reportada por Felix Wilhelm, del equipo de seguridad de Google, y afecta a las versiones 4.1-ESV-R15-P1, 4.3.6-P1 4.4.1.

En segundo lugar, identificada como CVE-2018-5733, tenemos una vulnerabilidad en el servidor de DHCP, llamado dhcpd. Básicamente consiste en que el servidor tiene un contador en memoria almacenado en 32 bits, que tras recibir una gran cantidad de paquetes de un cilente (del orden de miles de millones) puede desbordarse, con la posiblidad de cierre inesperado del servidor. Esta vulnerabilidad también fue reportada por Felix Wilhelm, y afecta a las versiones que afecta CVE-2018-5732.

Por último, la vulnerabilidad con identificador CVE-2018-5734 se produce en el servidor BIND al procesar una petición malformada. Específicamente, BIND al recibir un tipo concreto de paquete malformado selecciona como código de respuesta SERVFAIL, en vez de FORMERROR (que es la respuesta que indica que la petición DNS está malformada). Eso provoca que la aplicación ejecute una parte del código diferente (la parte que maneja las respuestas con SERVFAIL), y si se encuentra habilitada la caché de esta funcionalidad, se termina produciendo un fallo que ocasiona un cierre inesperado. La buena noticia es que este fallo no ha salido en ninguna versión pública del producto, sino en versiones con soporte de pago.

Todas las vulnerabilidades han sido corregidas a la hora de escribir este artículo, y se pueden corregir descargando la última version del software correspondiente en la sección de descargas de la página oficial del ISC:

https://www.isc.org/downloads/


Carlos Ledesma
@Ravenons


Más información:

A specially constructed response from a malicious server can cause a buffer overflow in dhclient
https://kb.isc.org/article/AA-01565/75/CVE-2018-5732

A malicious client can overflow a reference counter in ISC dhcpd
https://kb.isc.org/article/AA-01567/75/CVE-2018-5733

A malformed request can trigger an assertion failure in badcache.c
https://kb.isc.org/article/AA-01562/74/CVE-2018-5734