Linux · Linux Kernel · CVE-2022-48985
**Nome do software vulnerável e versões afetadas**
Kernel do Linux (versões afetadas não especificadas)
**Descrição**
O problema está relacionado a uma condição de corrida na variável `napi work done` por CQ no componente de rede do kernel Linux. Após chamar `napi complete done()`, outra CPU pode iniciar a thread napi e acessar a variável `cq->work done`, causando potencialmente corrupção de memória e panico se o valor for definido como >= budget. O número estimado de dispositivos potencialmente afetados em todo o mundo não está disponível. Não há informações sobre incidentes reais em que esse problema tenha sido explorado.
Os detalhes técnicos sobre a exploração incluem:
- A função `napi complete done()` está envolvida no problema.
- A variável `cq->work done` é acessada por várias threads, levando a uma condição de corrida.
- O recurso `busy poll` pode desencadear o problema.
**Recomendações**
Para corrigir este problema, salve a variável `work done` por CQ em uma variável local antes de `napi complete done()`, para que ela não seja corrompida por uma possível thread simultânea após `napi complete done()`.
Além disso, adicione um bit de sinalizador para informar ao firmware da NIC: a condição de corrida da variável `work done` do NAPI foi corrigida, de modo que o driver é capaz de oferecer suporte confiável a recursos como `busy poll`.
No momento, não há informações sobre uma versão mais recente que contenha uma correção para essa vulnerabilidade.