PT-2026-116992 · Linux · Linux
CVE-2026-98773
·
Publicado
2026-10-18
·
Atualizado
2026-10-18
Nenhuma
Não há classificações de severidade ou métricas disponíveis. Quando houver, atualizaremos as informações correspondentes na página.
In the Linux kernel, the following vulnerability has been resolved:
USB: cdc-acm: skip URB restart in port shutdown if disconnected
acm port shutdown() is called from the tty-port machinery whenever the
last user closes the port. acm disconnect() sets acm->disconnected and
calls tty port tty vhangup(), which eventually triggers port shutdown().
At that point acm disconnect() has already called acm poison urbs() and
is about to free the control and read URBs.
However, acm port shutdown() unconditionally calls acm unpoison urbs()
and, when the ALWAYS POLL CTRL quirk is set, immediately re-submits the
ctrlurb and all read URBs. If the concurrent acm disconnect() then
frees those URBs and their DMA buffers while they are in-flight, the
result is a use-after-free in acm ctrl irq() or acm read bulk callback()
accessing the freed DMA memory.
Fix by checking acm->disconnected after draining the delayed anchor and
returning early: if we are in a disconnect path the URBs must remain
poisoned and must not be resubmitted.
The early return is placed after the delayed-anchor drain loop because
that loop only cancels write-side accounting (wb->use = false and
autopm counter) and does not touch the hardware path.
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Linux