Linux · Linux Kernel · CVE-2024-45016
**Nome do software vulnerável e versões afetadas**
Versões do kernel Linux anteriores à 6.10.6
**Descrição**
Um bug na função `netem enqueue()` pode levar a um problema de uso após liberação (use-after-free). Isso ocorre quando um pacote é duplicado e o pacote original é descartado, fazendo com que o `q.qlen` do qdisc pai seja incrementado erroneamente. Como resultado, `qlen notify()` pode ser ignorado durante a destruição, deixando um ponteiro pendente para alguns qdiscs com classes, como o DRR. O problema surge em dois cenários: quando o pacote duplicado é descartado por `rootq->enqueue()` e o pacote original também é descartado, ou quando `rootq->enqueue()` envia o pacote duplicado para um qdisc diferente e o pacote original é descartado. Em ambos os casos, `NET XMIT SUCCESS` é retornado, mesmo que nenhum pacote esteja enfileirado no qdisc netem.
**Recomendações**
Para resolver o problema, atualize o kernel do Linux para uma versão posterior à 6.10.6. Como solução temporária, considere desativar a função `netem enqueue()` até que um patch esteja disponível. Restrinja o acesso ao módulo `netem` vulnerável para minimizar o risco de exploração. Evite usar a função `rootq->enqueue()` com pacotes duplicados até que o problema seja resolvido.