En FreeBSD una vulnerabilidad (CVE-2019-5611) que permite causar un fallo en el núcleo (packet-of-death) al enviar paquetes ICMPv6 MLD especialmente fragmentados (). El problema es la falta de la verificación necesaria en la llamada a m_pulldown(), lo que puede llevar al regreso de cadenas de mbufs no continuas, en contra de lo esperado por la parte que llama.
Vulnerabilidad en las actualizaciones 12.0-RELEASE-p10, 11.3-RELEASE-p3 y 11.2-RELEASE-p14. Como solución de seguridad, se puede deshabilitar el soporte para la fragmentación de IPv6 o filtrar en el cortafuegos las opciones en el encabezado (Hop-by-Hop). Curiosamente, el error que lleva a la vulnerabilidad fue identificado en 2006 y corregido en OpenBSD, NetBSD y macOS, pero permaneció sin arreglar en FreeBSD, a pesar de que los desarrolladores de FreeBSD fueron notificados sobre el problema.
También se puede señalar la solución de otras dos vulnerabilidades en FreeBSD:
- — desbordamiento del contador de referencias en estructuras de datos en mqueuefs al usar bibliotecas de 32 bits en un entorno de 64 bits (compatibilidad de 32 bits). El problema se manifiesta al habilitar mqueuefs, que no está activado por defecto, y puede llevar al acceso a archivos, directorios y sockets abiertos por procesos pertenecientes a otros usuarios, o para organizar acceso a archivos externos desde un entorno jail. Con acceso de root en la jail, la vulnerabilidad permite obtener acceso root en el entorno host.
- — un problema de acceso multihilo al dispositivo /dev/midistat en presencia de una condición de carrera puede provocar la lectura de áreas de memoria del núcleo fuera de los límites del búfer reservado para midistat. En sistemas de 32 bits, intentar explotar la vulnerabilidad provoca un fallo en el núcleo, mientras que en sistemas de 64 bits permite conocer el contenido de áreas de memoria del núcleo de forma arbitraria.
Fuente: opennet.ru
