HIGH Introduced in 4.4
enic TxHangReset UAF
CVE-2026-74725
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
KernelScan AI6.4MEDIUM
01Description
In the Linux kernel, the following vulnerability has been resolved: enic: fix tx_hang_reset use-after-free on device removal enic_remove() cancels the reset and change_mtu_work items but does not cancel tx_hang_reset. A TX timeout that fires while the device is being removed can schedule enic_tx_hang_reset() so that it runs after free_netdev(), resulting in a use-after-free. cancel_work_sync() alone is not sufficient here: the still-live watchdog and notify paths can re-schedule these work items in the window between the cancel and unregister_netdev(). Use disable_work_sync(), which cancels the work and blocks any subsequent schedule_work() from requeuing it, and apply it to the reset and change_mtu_work items as well so the same requeue race is closed for all teardown work.
02KernelScan AI Analysis
Risk summary
A use-after-free in the Cisco enic network driver occurs when a TX timeout schedules a reset work item that executes after the device has been freed during removal. The race requires privileged device removal and a concurrently firing TX timeout, making exploitation difficult but potentially yielding kernel memory corruption. Systems using enic NIC hardware where administrators perform device hot-removal are at risk.
Vulnerability analysis
During device removal, the enic driver cancels some deferred work items but omits the TX hang reset work, and the cancellation method it uses does not prevent the still-live network watchdog from re-scheduling work in the window before the device is unregistered. If a TX timeout fires during that window, the reset work runs after the network device structure has already been freed, resulting in a use-after-free. The fix replaces the cancellation calls with a mechanism that both cancels pending work and permanently blocks future scheduling, applied to all teardown work items so the requeue race is closed uniformly. The vulnerable path is reachable only on systems with the Cisco enic PCI NIC driver loaded, requires privileged device removal (PCI hot-unplug), and depends on a TX timeout firing during the narrow removal window.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 6.12 | 4.4 | 6.12.104 | 8619865f34fb |
| 6.18 | 4.4 | 6.18.45 | e506e704b747 |
| 7.1 | 4.4 | 7.1.9 | 4f3464fc6c1f |
| mainline | 4.4 | 7.2 | ec680ea4ba1b |
| cip/6.12 | 4.4 | 6.12.104-cip30 | 8619865f34fb |
04CIP Kernels
State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.
| CIP tree | State |
|---|---|
| cip/6.12 | Fixed in 6.12.104-cip30 |
| cip/6.1 | Affected — no CIP fix yet (latest 6.1.189-cip61) |
| cip/6.1-rt | Affected — no CIP fix yet (latest 6.1.189-cip61-rt32) |
| cip/5.10 | Affected — no CIP fix yet (latest 5.10.271-cip78) |
| cip/5.10-rt | Affected — no CIP fix yet (latest 5.10.268-cip77-rt34) |
| cip/4.19 | Affected — no CIP fix yet (latest 4.19.325-cip136) |
| cip/4.19-rt | Affected — no CIP fix yet (latest 4.19.325-cip136-rt50) |
| cip/4.4 | Affected — no CIP fix yet (latest 4.4.302-cip115) |
| cip/4.4-rt | Affected — no CIP fix yet (latest 4.4.302-cip115-rt63) |