CVE-2026-98342 in Linuxinformação

Sumário

de VulDB • 07/10/2026

No kernel Linux, a seguinte vulnerabilidade foi resolvida:

dmaengine: aguardar leitores RCU antes de liberar o dispositivo dma

A função `dma_issue_pending_all()` percorre a lista `dma_device_list` com `list_for_each_entry_rcu()` sob `rcu_read_lock()`. A função `dma_device_release()` desvincula o dispositivo com `list_del_rcu()` e, em seguida, chama `device->device_release()` (que, em muitos drivers, como plx_dma.c, chama diretamente `kfree()`).

Como não há um período de graça entre a desvinculação do dispositivo e sua liberação, leitores RCU concorrentes em `dma_issue_pending_all()` podem acessar o dispositivo após ele ter sido liberado.

O percurso sem bloqueio originalmente dependia dos clientes manterem uma referência ao dmaengine para fixar o módulo provedor e, portanto, o dispositivo, pelo tempo necessário para percorrer a lista. O commit 8ad342a86359 ("dmaengine: Adicionar contagem de referências à estrutura dma_device") desacoplou a vida útil do `dma_device` da referência ao módulo, então o dispositivo agora pode ser liberado enquanto um leitor ainda está percorrendo a lista.

Adicione uma chamada a `synchronize_rcu()` antes que o dispositivo seja liberado, para garantir que os leitores RCU tenham concluído suas operações. Mantenha-a incondicional: provedores que não implementam `device_release()` liberam o dispositivo eles mesmos assim que `dma_async_device_unregister()` retorna. Essa chamada atrasará por um período de graça com o `dma_list_mutex` mantido, o que é seguro e apenas a rota de desmontagem (teardown) será atrasada.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsável

Linux

Reservar

25/09/2026

Divulgação

06/10/2026

Moderação

aceite

Entrada

VDB-414062

EPSS

0.00184

KEV

não

Atividades

muito baixo

Fontes

Want to know what is going to be exploited?

We predict KEV entries!