Track vulnerabilities like this one. Sign up free to get alerted when software you use is affected.

Linux kernel 6.6.157.1-1 may free USB memory after disconnect

published 17 days ago
Summary

The Linux kernel version 6.6.157.1-1 used in Azure can mistakenly reuse USB communication buffers after a device is disconnected, which could lead to a crash or unpredictable behavior. This happens because the code does not check whether the device is already marked as disconnected before re‑issuing work on those buffers. Updating the kernel to the latest patched version resolves the issue.

What to do

The CVE record does not list a fixed version. Check the vendor's site or the advisory links below - a fix may already be released.

Affected software
Ecosystem VendorProductAffected versions
Azure Linux:3 azure kernel <= 6.6.157.1-1
Original advisory text
CVE-2026-98773 affecting package kernel 6.6.157.1-1
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.
Timeline
Published18 Oct 2026
Updated21 Oct 2026
First seen21 Oct 2026
Sources
AZL-108779 · OSV
Track software like this
Free during beta