CVE-2026-23111
netfilter: nf_tables: corrige verificação de genmask invertida em nft_map_catchall_activate()
- Publicado
- 13 de fev. de 2026
- Atualizado
- 15 de out. de 2026
- Atribuindo CNA
- Linux
- Evidência observada
- 8 de ago. de 2026
CVSS primário
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HBaixo · próximos 30 dias
- Percentil
- 42,8%
- Data do modelo
- 15 de out. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
No Linux kernel, a seguinte vulnerabilidade foi resolvida: netfilter: nf_tables: corrige verificação de genmask invertida em nft_map_catchall_activate() nft_map_catchall_activate() tem uma verificação de atividade de elemento invertida em comparação com sua contraparte não-catchall nft_mapelem_activate() e em comparação com o que é logicamente necessário. nft_map_catchall_activate() é chamada a partir do caminho de abort para reativar elementos de mapa catchall que foram desativados durante uma transação com falha. Ela deve pular elementos que já estão ativos (eles não precisam de reativação) e processar elementos que estão inativos (eles precisam ser restaurados). Em vez disso, o código atual faz o oposto: ele pula elementos inativos e processa os ativos. Compare o callback de ativação não-catchall, que está correto: nft_mapelem_activate(): if (nft_set_elem_active(ext, iter->genmask)) return 0; /* pular ativos, processar inativos */ Com a versão catchall com bug: nft_map_catchall_activate(): if (!nft_set_elem_active(ext, genmask)) continue; /* pular inativos, processar ativos */ A consequência é que quando uma operação DELSET é abortada, nft_setelem_data_activate() nunca é chamada para o elemento catchall. Para elementos de veredito NFT_GOTO, isso significa que nft_data_hold() nunca é chamada para restaurar a contagem de referência chain->use. Cada ciclo de abort decrementa permanentemente chain->use. Quando chain->use chega a zero, DELCHAIN é bem-sucedida e libera a chain enquanto elementos de veredito catchall ainda a referenciam, resultando em um use-after-free. Isso é explorável para escalonamento local de privilégios a partir de um usuário não privilegiado via namespaces de usuário + nftables em distribuições que habilitam CONFIG_USER_NS e CONFIG_NF_TABLES. Corrija removendo a negação para que a verificação corresponda a nft_mapelem_activate(): pular elementos ativos, processar os inativos.
Fontes
- CVE-2026-23111Informativo
CVE-2026-23111
Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.