Description
In the Linux kernel, the following vulnerability has been resolved: amt: fix use-after-free in AMT delayed works When an AMT device is removed, pending delayed works can still access the freed amt_dev structure, which may result in kernel crashes or memory corruption. amt_dev_stop() cancels req_wq and discovery_wq with cancel_delayed_work_sync(), but these works can be scheduled again from event_wq after the cancellation. This allows delayed works to access the freed amt_dev structure after the netdev has been released. The following is a simple race scenario: CPU0 CPU1 amt_dev_stop() cancel_delayed_work_sync() amt_event_work() mod_delayed_work(req_wq) free netdev req_wq accesses freed amt_dev Use disable_delayed_work_sync() in amt_dev_stop() to prevent req_wq and discovery_wq from being queued again and wait for running work items to complete. The delayed works are disabled after initialization in amt_newlink() and enabled only when the device is successfully opened. This keeps the delayed work lifecycle synchronized with the lifetime of the AMT device.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
cbc21dc1cfe949e37b2a54c71511579f1899e8d4 to < a46bfa01e01df0f6f6dc4b0be18db002d6d2dbd2affectedcbc21dc1cfe949e37b2a54c71511579f1899e8d4 to < 1a644db2cf59f164cdf3c75995bab5aadc097528affectedcbc21dc1cfe949e37b2a54c71511579f1899e8d4 to < 006340cf06881b6ff49767d8b6f3c4f7b892670caffectedcbc21dc1cfe949e37b2a54c71511579f1899e8d4 to < ea20c44935d6142daecfa9b39d635033a7553e1baffected
Linux Linux
Default version status: affected
5.16affected0 to < 5.16unaffected6.12.101 to ≤ 6.12.*unaffected6.18.42 to ≤ 6.18.*unaffected7.1.6 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected