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.
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.