Vulnerabilidad en el kernel de Linux que puede provocar un fallo al enviar un paquete UDP

En el kernel de Linux identificado vulnerabilidad (CVE-2019-11683), que le permite provocar de forma remota una denegación de servicio mediante el envío de paquetes UDP especialmente diseñados (paquete-de-muerte). El problema se debe a un error en el controlador udp_gro_receive_segment (net/ipv4/udp_offload.c) con la implementación de la tecnología GRO (Descarga de recepción genérica) y puede provocar daños en el contenido de las áreas de memoria del kernel al procesar paquetes UDP con relleno cero. (carga útil vacía).

El problema sólo afecta al kernel. 5.0ya que el soporte GRO para sockets UDP fue implementado en noviembre del año pasado y sólo logró acceder a la última versión estable del kernel. La tecnología GRO le permite acelerar el procesamiento de una gran cantidad de paquetes entrantes agregando varios paquetes en bloques más grandes que no requieren un procesamiento por separado de cada paquete.
Para TCP, el problema no ocurre, ya que este protocolo no admite la agregación de paquetes sin carga útil.

La vulnerabilidad hasta ahora sólo se ha solucionado en la forma parche, la actualización correctiva aún no se ha publicado (la corrección de la actualización 5.0.11 de ayer no incluido). Desde los kits de distribución, el kernel 5.0 logró incluirse en Fedora 30, Ubuntu 19.04, Arch Linux, Gentoo y otras distribuciones continuamente actualizadas. Debian, Ubuntu 18.10 y anteriores, RHEL / CentOS и SUSE/openSUSE El problema no afecta.

El problema se encontró como resultado. utilizar Sistema automatizado de prueba de fuzzing creado por Google robot siz y analizador KASAN (KernelAddressSanitizer), destinado a identificar errores al trabajar con la memoria y hechos de acceso incorrecto a la memoria, como acceder a áreas de memoria liberadas y colocar código en áreas de memoria no destinadas a tales manipulaciones.

Fuente: opennet.ru

Añadir un comentario