Linux · Linux Kernel · CVE-2024-42071
**Nome do software vulnerável e versões afetadas**
Versões do kernel Linux anteriores à 6.10.0-rc3-netnext+
**Descrição**
O problema ocorre quando a função `ionic tx clean()` chama `napi consume skb()`, que, por sua vez, chama `napi skb cache put()`. O problema ocorre porque `napi consume skb()` é chamada sem o contexto adequado, especificamente quando não está em um contexto NAPI softirq. Para sinalizar que não está em um contexto seguro, `napi consume skb()` deve ser chamada com um orçamento de 0. A vulnerabilidade foi descoberta durante testes de estresse de configuração de tráfego e um loop de configuração da fila de alterações. A nota `DEBUG NET WARN ON ONCE(!in softirq())` e o comentário `/* Orçamento zero indica que fomos chamados em um contexto não NAPI, como netpoll */` indicam que a implementação atual está incorreta.
**Recomendações**
Para resolver o problema, passe uma dica de contexto pelas chamadas para que `ionic tx clean()` saiba o que está sendo feito, de modo que possa chamar `napi consume skb()` corretamente. Como solução alternativa temporária, considere desativar a função `ionic tx clean()` até que um patch esteja disponível. Restrinja o acesso à função `napi consume skb()` para minimizar o risco de exploração. Evite usar o parâmetro `budget` na função `napi consume skb()` afetada até que o problema seja resolvido. No momento, não há informações sobre uma versão mais recente que contenha uma correção para essa vulnerabilidade.