CVE-2026-98766

CVE-2026-98766

published October 18, 2026

CVSS
—
EPSS
0%
Percentile
5.7
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

usb: gadget: aspeed-vhub: cancel wake work on device removal

wake_work is armed from the gadget .wakeup callback to resume suspended

downstream ports, and it is never cancelled in ast_vhub_remove(), so a

work item queued before or during removal can run after devm has freed

vhub and its ports, a use-after-free.

Cancelling the work alone is not sufficient: usb_gadget_wakeup() takes

no lock and the unbind path never clears wakeup_en, so a remote-wakeup

request in flight on another CPU can re-arm the work after the cancel

and before vhub is freed.

ast_vhub_del_dev() already clears d->registered under vhub->lock before

unregistering the gadget. Refuse the wakeup in ast_vhub_udc_wakeup()

once d->registered is clear: the check and the schedule_work() are then

atomic against the unbind, so a wakeup that passed before the flag was

cleared is drained by the cancel_work_sync() after the del_dev loop,

and one that arrives later returns without arming. Also move INIT_WORK()

to the top of ast_vhub_probe(), since the probe error path reuses

ast_vhub_remove() and would otherwise cancel a never-initialized work

item.

This issue was found by an in-house static analysis tool.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00168 · 5.7th percentile
Published
2026-10-18T20:17Z
References (5)
EPSS history
Timeline
  • 20 OCT 03:34Z
    EPSS moved — → 0%
    epss
  • 18 OCT 15:47Z
    usb: gadget: aspeed-vhub: cancel wake work on device removal
    cvelistv5
  • 18 OCT 15:47Z
    usb: gadget: aspeed-vhub: cancel wake work on device removal
    cvelistv5