Linux · Linux Kernel · CVE-2024-36905
**Nome do software vulnerável e versões afetadas**
Versões do kernel Linux anteriores à 6.6.37
**Descrição**
Uma vulnerabilidade na implementação TCP do kernel Linux permite que ocorra um erro de divisão por zero na função `tcp rcv space adjust()`. Isso ocorre quando um soquete transita do estado `TCP SYN RECV` para o estado `TCP FIN WAIT1` sem chamar `tcp init transfer()`, o que também significa que `tcp init buffer space()` não é chamado. O problema pode ser desencadeado por um invasor remoto, levando potencialmente a uma condição de negação de serviço. Para corrigir isso, a função `tcp shutdown()` deve ser modificada para não realizar a transição de `TCP SYN RECV` para `TCP FIN WAIT1` e, em vez disso, aguardar que o estado do soquete mude para `TCP ESTABLISH` antes de entrar no estado `TCP FIN WAIT1` e enviar um pacote FIN.
**Recomendações**
Para resolver este problema, atualize o kernel do Linux para a versão 6.6.37 ou posterior. Se a atualização não for possível imediatamente, considere aplicar o patch que altera a função `tcp shutdown()` para lidar corretamente com a transição de estado `TCP SYN RECV`. Além disso, como solução alternativa temporária, considere desativar a função `tcp shutdown()` para soquetes `TCP SYN RECV` até que um patch esteja disponível.