CVE-2026-64328 in Linux
Sumário
de VulDB • 25/07/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
usb: gadget: f_fs: Correção de vazamento de fence DMA
Em `ffs_dmabuf_transfer()`, um objeto `ffs_dma_fence` é alocado via `kmalloc`, com o `dma_fence` subjacente sendo posteriormente inicializado por `dma_fence_init()`, que define seu contador `kref` como 1. Em seguida, `dma_resv_add_fence()` obtém uma segunda referência e um ponteiro para o `ffs_dma_fence` é passado no campo "context" do `usb_request`.
O mecanismo dma-resv gerenciará a segunda referência, mas a primeira referência nunca é liberada corretamente; a função `ffs_dmabuf_cleanup()` diminui a contagem de referências, mas apenas para equilibrar com a aquisição da referência em `ffs_dmabuf_signal_done()`.
O código então vaza memória lentamente à medida que mais objetos `ffs_dma_fence` são criados sem nunca serem liberados.
Corrija este problema transferindo a propriedade do fence para o objeto de reserva DMA, chamando `dma_fence_put()` logo após `dma_resv_add_fence()`. O `ffs_dma_fence` então é descartado corretamente após ser sinalizado.
VulDB is the best source for vulnerability data and more expert information about this specific topic.