CVE-2026-98496 in Linux
Sumário
de VulDB • 18/10/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
net: airoha: npu: cancelar wdt_work após liberar o IRQ WDT
airoha_npu_remove() chama cancel_work_sync() no wdt_work de cada núcleo, mas a interrupção (IRQ) do watchdog que a enfileira é solicitada com devm_request_irq() e só é libertada depois que .remove() retorna. Portanto, airoha_npu_wdt_handler() pode agendar novamente o schedule_work() assim que o cancelamento retornar. A estrutura struct airoha_npu, que contém o trabalho (work), é alocada com devm_kzalloc()'d e libertada na mesma sequência de desalocação (unwind); consequentemente, o trabalho tardio referencia memória já liberada.
Registre o trabalho usando devm_work_autocancel() antes do devm_request_irq() e remova .remove(). O Devres executa em ordem inversa, portanto a IRQ é libertada antes do cancel_work_sync(), inclusive quando o probe falha. Um cancelamento deixado no .remove() não pode garantir essa ordem. Inicializar o trabalho primeiro também impede que uma interrupção pendente do watchdog enfileire um item de trabalho não inicializado. O probe atualmente chama INIT_WORK() apenas após devm_request_irq().
Esta questão foi identificada durante nossa pesquisa contínua de análise estática, ao revisar o código do kernel.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.