PT-2026-68416

CVE-2026-64583

·

Publicado

2026-08-06

·

Atualizado

2026-10-14

Descrição por

CVSS 3.1
7.8
Alta
MétricasAV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Nome do Software Vulnerável e Versões Afetadas Linux kernel (versões afetadas não especificadas)
Description O driver Broadcom BDC UDC contém uma condição de corrida durante o processo de remoção. O driver utiliza devm request irq() na função bdc udc init(), o que significa que a solicitação de interrupção (IRQ) é liberada apenas após o retorno da função bdc remove(). No entanto, a bdc remove() aciona manualmente bdc udc exit() e bdc hw exit(), que liberam o anel de relatório de status DMA-coerente bdc->srr.sr bds e o bdc->bdc ep array enquanto o manipulador de IRQ bdc udc interrupt() ainda está ativo. Se ocorrer uma interrupção compartilhada durante essa janela, a função bdc udc interrupt() pode desreferenciar memória NULL ou já liberada, resultando em um NULL-dereference ou use-after-free. Além disso, o trabalho atrasado bdc->func wake notify não é cancelado, permitindo que ele desreferencie memória liberada caso seja executado após a liberação da estrutura bdc.
Recommendations Substitua devm request irq() por request irq() e implemente um free irq(bdc->irq, bdc) explícito dentro de bdc remove(). Limpe o BDC GIE antes de chamar free irq() para interromper as interrupções do dispositivo e utilize cancel delayed work sync() para drenar o trabalho atrasado func wake notify antes de prosseguir com a desmontagem em bdc udc exit() e bdc hw exit().
Explorabilidade
Exploit
Correção
Fornecedores
Produtos afetados
Identificadores relacionados
CLSA-2026-1791876326
CLSA-2026-1791946572
OPENSUSE-SU-2026:11476-1
OPENSUSE-SU-2026:21910-1
SUSE-SU-2026:23477-1
SUSE-SU-2026:23481-1
SUSE-SU-2026:23528-1
SUSE-SU-2026:23529-1
SUSE-SU-2026:23881-1
SUSE-SU-2026:23887-1
SUSE-SU-2026:23897-1
SUSE-SU-2026:23902-1
SUSE-SU-2026:4120-1
SUSE-SU-2026:4254-1
USN-8875-1
USN-8875-2
USN-8876-1
USN-8877-1
USN-8878-1
USN-8879-1
USN-8886-1
USN-8887-1
USN-8887-2
USN-8887-3
USN-8888-1
USN-8888-2
USN-8889-1
USN-8917-1
USN-8918-1
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾