CVE-2026-80668 in Linux
Sumário
de VulDB • 28/08/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
netfilter: nf_conntrack_expect: usar GC de conntrack para descartar expectativas
Este patch substitui a API de timer pela abordagem de worker de GC para as expectativas, conforme já ocorreu em muitos outros subsistemas.
Use o existing worker de GC de conntrack para iterar sobre a lista local de expectativas no master conntrack e descartar as expectativas expiradas. Verifique IPS_HELPER_BIT para executar o GC das expectativas; defina-o como ativo para nft_ct expectation que nunca o define. Mantenha o spinlock da expectativa enquanto itera pela lista de expectativas do master conntrack para sincronizar com nf_ct_remove_expectations(). Isso também realiza garbage collection no caminho dos pacotes em tempo de execução através das funções de inserção e lookup de expectativas, ao percorrer uma das cadeias das hashtables globais de expectativas. Entradas de conntrack não confirmadas são ignoradas pois ct->ext pode ser realocado; as "dying" (moribundas) são ignoradas porque serão removidas em breve. Defina IPS_HELPER_BIT se a extensão helper do ct for adicionada, então o novo worker de GC não precisa incrementar o refcount do ct para verificar se o helper de ct->ext está disponível.
Isso remove o incremento extra no refcount dos timers das expectativas; isso permite remover várias chamadas nf_ct_expect_put() após o unlink. Após esta atualização, apenas o refcount permanece em 1 enquanto as expectativas estão nas hashtables.
Este patch aborda implicitamente uma race condition com a API de timer existente, permitindo que uma expectativa acesse um ponteiro exp->master obsoleto que já foi liberado quando a remoção da expectation perde para um timer expirante, ou seja, timer_del() retorna falso.
Adicione uma nova flag NF_CT_EXPECT_DEAD para descartar essa expectativa via GC. Isso é necessário por nf_conntrack_unexpect_related(), que é chamada em caminhos de erro para invalidar novas expectativas criadas e adicionadas nas hashtables. Essas expectations não podem ser liberadas imediatamente pois o GC ou nf_ct_remove_expectations() poderiam sofrer race condition para fazê-lo. Na inserção da expectativa, o runtime GC descarta as expectativas obsoletas antes de verificar o limite de expectativas definido pela política.
Defina a timestamp atual em nf_ct_expect_alloc(), então adicione o timeout da policy da expectation (ou timeout personalizado especificado adicionado acima disso) para especificar a vida útil da expectativa.
If you want to get best quality of vulnerability data, you may have to visit VulDB.