Vulnerabilidade no núcleo de Linux que pode causar un fallo ao enviar un paquete UDP

No núcleo de Linux identificado vulnerabilidade (CVE-2019-11683), que lle permite provocar de forma remota unha denegación de servizo mediante o envío de paquetes UDP especialmente deseñados (paquete de morte). O problema é causado por un erro no manejador udp_gro_receive_segment (net/ipv4/udp_offload.c) coa implementación da tecnoloxía GRO (Generic Receive Offload) e pode provocar danos no contido das áreas de memoria do núcleo ao procesar paquetes UDP sen recheo cero. (carga útil baleira).

O problema só afecta ao núcleo 5.0xa que o soporte de GRO para sockets UDP era implementado en novembro do ano pasado e só conseguiu entrar na última versión estable do núcleo. A tecnoloxía GRO permítelle acelerar o procesamento dunha gran cantidade de paquetes entrantes agregando varios paquetes en bloques máis grandes que non requiren un procesamento separado de cada paquete.
Para TCP, o problema non ocorre, xa que este protocolo non admite a agregación de paquetes sen carga útil.

A vulnerabilidade foi solucionada ata agora só no formulario parche, a actualización correctiva aínda non se publicou (corrección da actualización 5.0.11 de onte non incluído). Desde os kits de distribución, o núcleo 5.0 conseguiu ser incluído Fedora 30, Ubuntu 19.04, Arch Linux, Gentoo e outras distribucións continuamente actualizadas. Debian, Ubuntu 18.10 e anteriores, RHEL/CentOS и SUSE/openSUSE o problema non afecta.

O problema atopouse como resultado de uso Sistema automatizado de probas de fuzzing creado por Google syzbot e analizador KASAN (KernelAddressSanitizer), destinado a identificar erros ao traballar coa memoria e feitos de acceso incorrecto á memoria, como acceder a áreas de memoria liberadas e colocar código en áreas de memoria non destinadas a tales manipulacións.

Fonte: opennet.ru

Engadir un comentario