Uma sequência de SACKs pode ser criada de tal forma que se pode acionar um integer overflow, levando a um kernel panic. Um atacante mal-intencionado deve ter acesso à rede para um sistema afetado, incluindo a capacidade de enviar tráfego com valores baixos de MSS para o destino. A exploração bem-sucedida desses problemas pode causar falha no sistema de destino ou degradar significativamente o desempenho.
Tag: ASA-2019-00365
ASA-2019-00365 – Linux kernel: Integer overflow ao processar blocos SACK permite negação de serviço remota (SACK Panic)
Uma falha de integer overflow foi encontrada na maneira como o subsistema de rede do kernel do Linux processava segmentos TCP de Selective Acknowledgment (SACK). Ao processar segmentos SACK, a estrutura de dados do buffer de soquete (SKB) do kernel do Linux fica fragmentada. Cada fragmento é aproximadamente do tamanho máximo do segmento TCP (MSS). Para processar com eficiência blocos SACK, o kernel do Linux mescla vários SKBs fragmentados em um, potencialmente estourando a variável que contém o número de segmentos. Um atacante remoto pode usar essa falha para travar o kernel do Linux, enviando uma sequência de segmentos SACK em uma conexão TCP com pequeno valor de TCP MSS, resultando em uma negação de serviço (DoS).