Linux · Linux Kernel · CVE-2024-26733
Nome do software vulnerável e versões afetadas:
Versões do kernel Linux anteriores à 6.1.74
Descrição:
A vulnerabilidade está relacionada a um estouro de buffer na função `arp req get()` do kernel Linux. Quando o comando `ioctl(SIOCGARP)` é executado, a função procura uma entrada de vizinho e copia o valor `neigh->ha` para o buffer `struct arpreq.arp ha.sa data`. No entanto, o buffer `arp ha` tem apenas 14 bytes de comprimento, o que pode levar a um estouro de buffer quando `dev->addr len` é maior que 22. Isso pode fazer com que o valor `arp netmask` seja sobrescrito, permitindo potencialmente que um invasor obtenha privilégios elevados.
A vulnerabilidade pode ser explorada executando o comando `ioctl(SIOCGARP)` com um buffer `struct arpreq` especialmente criado, o que pode levar a um estouro de buffer e permitir potencialmente que um invasor execute código arbitrário.
Recomendações:
Para resolver o problema, atualize o kernel do Linux para uma versão que inclua a correção para a vulnerabilidade. Especificamente, atualize para uma versão que inclua o commit `b5f0de6df6dc` (“net: dev: Convertir sa data para matriz flexível em struct sockaddr”) ou posterior.
Como solução temporária, considere desativar a função `arp req get()` até que um patch esteja disponível. No entanto, isso pode ter consequências indesejadas e deve ser cuidadosamente avaliado antes da implementação.
Observação: As informações fornecidas não incluem detalhes sobre a existência de um patch ou de uma versão corrigida para todos os sistemas afetados. Portanto, a recomendação de u