Linux · Linux Kernel · CVE-2024-50258
Nome do software vulnerável e versões afetadas:
Versões do kernel Linux anteriores à 6.6.61
Descrição:
Pode ocorrer uma falha no kernel Linux quando um valor pequeno para `gso max size` ou `gso ipv4 max size` é configurado, levando a um underflow na função `sk dst gso max size()`. Esse underflow pode acionar uma falha BUG ON, pois `sk->sk gso max size` seria muito maior do que os limites do dispositivo. O problema está relacionado à função `tcp write xmit`, na qual `tso segs` é calculado usando `DIV ROUND UP(skb->len, mss now)`, o que pode resultar em um valor 0, acionando a falha BUG ON. Foi adicionada uma verificação do valor mínimo de `gso max size` e `gso ipv4 max size` para corrigir o problema.
Recomendações:
Para versões do kernel Linux anteriores à 6.6.61, atualize para a versão 6.6.61 ou posterior para resolver o problema. Como solução alternativa temporária, considere configurar valores maiores para `gso max size` e `gso ipv4 max size` para evitar o problema de underflow. Restrinja o acesso à função `tcp write xmit` e às funções relacionadas `tcp set skb tso segs` e `tcp skb pcount set` para minimizar o risco de exploração. Evite usar valores pequenos para `gso max size` e `gso ipv4 max size` até que o problema seja resolvido.