Desbordamiento de memoria en el kernel de Linux permite elevar privilegios

Una vulnerabilidad en el kernel Linux a la hora de comprobar parámetros introducidos por el usuario podrí­a permitir a un atacante escalar privilegios.

linux-kernel1.png

El fallo, del cual se ha tenido constancia como en muchos otros casos, a través de los ‘commits’ al kernel, tiene asignado elCVE-2018-1068. Aún se desconoce completamente el alcance de una posible explotación, aunque tras un rápido vistazo al código de los parches podemos intuir que se trata de algo grave. Básicamente, a través de una llamada del sistema es posible proporcionar al kernel parámetros anómalos. Al no comprobarse su corrección en el lado del kernel terminarí­an por causar desbordamiento de memoria, y la posibilidad de escribir en memoria del kernel.

Especí­ficamente, el error está relacionado con la estructura de datos ‘ebt_entry’ y los métodos que operan sobre ésta, que se encuentran en el fichero ‘net/bridge/netfilter/ebtables.c’. Al no validar los parámetros que vienen de la parte del usuario, los parámetros anómalos son procesados por código que no espera que sean incorrectos. La forma más simple de explotación es a través del uso de ebtables, una herramienta parecida a iptables pero orientada a la capa de enlace de red (lo que se suele implementar con Ethernet), usando reglas especialmente diseñadas. Esta utilidad hace uso de las llamadas del sistema vulnerables.

Selection.png

La vulnerabilidad ha sido clasificada como importante, ya que aunque por lo complejo de la explotación, no es necesario ser el usuario root, basta con tener privilegios de administrador en el namespace (espacio de nombres) ‘user+network’. Esto es especialmente peligroso en un contexto de contenedores estilo Docker, ahora tan de moda. Desde un contenedor con privilegios restringidos pero siendo administrador del namespace mencionado serí­a posible salirse del contenedor y escalar privilegios al usuario root.

Fuente: hispasec.com

Compartir: