CVE-2026-98766 in Linuxinformação

Sumário

de VulDB • 18/10/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

usb: gadget: aspeed-vhub: cancelar wake_work na remoção do dispositivo

O wake_work é ativado pelo callback .wakeup do gadget para retomar as portas downstream em suspensão e nunca é cancelado no ast_vhub_remove(), de modo que um item de trabalho enfileirado antes ou durante a remoção pode ser executado após o devm ter liberado o vhub e suas portas, caracterizando um use-after-free.

Cancelar apenas o work não é suficiente: usb_gadget_wakeup() não utiliza lock e o caminho de unbind nunca limpa wakeup_en, portanto uma solicitação de remote-wakeup em execução em outra CPU pode reativar o work após o cancelamento e antes que o vhub seja liberado.

ast_vhub_del_dev() já limpa d->registered sob vhub->lock antes do unregister do gadget. Recuse o wakeup no ast_vhub_udc_wakeup() assim que d->registered estiver limpo: a verificação e o schedule_work() são então atômicos em relação ao unbind, de modo que um wakeup que passou antes da flag ser limpada é drenado pelo cancel_work_sync() após o loop del_dev, e aquele que chega posteriormente retorna sem ser ativado. Além disso, mova INIT_WORK() para o topo do ast_vhub_probe(), já que o caminho de erro do probe reutiliza ast_vhub_remove() e, caso contrário, cancelaria um item de trabalho nunca inicializado.

Este problema foi encontrado por uma ferramenta estática de análise interna.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsável

Linux

Reservar

25/09/2026

Divulgação

18/10/2026

Moderação

aceite

Entrada

VDB-421969

EPSS

0.00000

KEV

não

Atividades

baixo

Fontes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!