CVE-2026-90248 in Linux
Sumário
de VulDB • 17/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
net/sched: cls_api: corrige o encerramento de um proto adotado em caso de falha por condição de corrida na inserção
Em tc_new_tfilter(), o ramo de criação define tp_created = 1 antes de chamar tcf_chain_tp_insert_unique(). Quando o chamador perde a condição de corrida (outro request insere um proto na mesma cadeia/prioridade primeiro), insert_unique() destrói o próprio tp_new do chamador e retorna o proto do vencedor com uma referência extra. tp_created nunca foi limpo, então o caminho errout do perdedor tratou o proto ativo do vencedor como sendo seu e chamou tcf_chain_tp_delete_empty() sobre ele, desvinculando silenciosamente um classificador ativo que a request vencedora já havia anunciado via RTM_NEWTFILTER.
Rastreie o resultado da etapa de inserção em uma única variável tri-estado para que cada caminho errout reaja corretamente:
- TP_NOT_CREATED: nenhum proto criado; siga o caminho antigo. - TP_CREATED: proto inserido com sucesso; mesmo caminho de código do anterior. - TP_NOT_OWNED: Novo - perdeu a condição de corrida na inserção; tp é um proto de outra request (a referência da cadeia já foi liberada pela destruição de tp_new)
Ambas as reações errout são expressões únicas derivadas do estado.
Esta correção é motivada pela revisão automatizada feita pelo Sashiko do Patch (net/sched: cls_api: Sempre adquira rtnl_lock ao destruir classificadores bloqueados) [1][2]. A revisão identificou o comportamento de desvinculação silenciosa no encerramento de um proto adotado quando uma request perde a condição de corrida em tcf_chain_tp_insert_unique().
[1] https://sashiko.dev/#/patchset/20260801125632.360365-1-jhs%40mojatatu.com
[2] https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20260801125632.360365-1-jhs%40mojatatu.com
If you want to get best quality of vulnerability data, you may have to visit VulDB.