Un fallo en el TCP de Linux y FreeBSD abre la puerta a una denegación de servicio

El investigador en seguridad finés Juha-Matti Tilli ha descubierto una vulnerabilidad en el kernel Linux que reportó a los mantenedores de dicho software y a diversas instituciones.

La vulnerabilidad hallada en Linux (CVE-2018-5390) ha recibido el nombre de SegmentSmack y se trata de un agotamiento de recursos desencadenado por una secuencia específicamente diseñada de segmentos TCP que termina siendo de procesamiento costoso para el kernel. El problema impacta a muchos usuarios de sistemas operativos Linux, ya que las versiones más afectadas son la 4.9 y la siguientes, mientras que la 4.8 y anteriores requiere de una mayor cantidad de tráfico malicioso para provocar el mismo agotamiento de los recursos.

Prácticamente cualquier sistema operativo Linux, abarcando todas las distribuciones, están afectados por esta vulnerabilidad de agotamiento de recursos. En caso de ser explotada la vulnerabilidad con éxito, el atacante remoto podría provocar una denegación de servicio mediante el envío de paquetes específicamente diseñados dentro de sesiones TCP en curso. El mantenimiento de la denegación de servicio requiere de sesiones TCP bidireccionales continuas a un puerto alcanzable, impidiendo así la utilización de direcciones IP falsificadas.

Una vulnerabilidad muy parecida ha sido hallada en FreeBSD por el mismo investigador (CVE-2018-6922) que ha sido descrita como un “algoritmo ineficiente” que implica a la estructura de datos de reensamblaje de segmentos, afectando a las versiones 10, 10.4, 11, 11.1 y 11.2 del sistema operativo. Básicamente, según el aviso publicado por los encargados de FreeBSD, “hace que el tiempo de CPU dedicado al procesamiento de segmentos crezca de forma lineal con el número de segmentos en la cola de reensamblaje”. Este fallo de seguridad es más fácil de explotar que el hallado en Linux.

Afortunadamente los parches que arreglan estas vulnerabilidades ya han sido publicados, y su aplicación solo requiere de una actualización regular en caso de utilizar un sistema con soporte oficial de su desarrollador. También pueden ser solventadas mediante la limitación del tamaño de la cola de reensamblaje de TPC (que por defecto es 100), aunque esto tiene el inconveniente de que una cola más pequeña puede hacer que se pierdan paquetes y el proceso de transmisión limitaría el rendimiento.

Fuentes: The Register y Akamai

LEAVE A REPLY

Please enter your comment!
Please enter your name here