Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2026-74725

Опубликовано: 22 авг. 2026
Источник: redhat
CVSS3: 5.5

Описание

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.

A flaw was found in the Linux kernel's enic driver. During device removal, a timing issue can occur where a transmit (TX) timeout schedules a reset operation after the device's memory has been freed. This leads to a use-after-free vulnerability, a type of memory corruption where the system attempts to access memory that is no longer allocated. This can result in system instability, crashes, or potentially allow an attacker to execute arbitrary code.

Отчет

A Moderate severity use-after-free flaw was found in the Linux kernel enic network driver used in Red Hat Enterprise Linux and Red Hat In-Vehicle OS. During device removal, enic_remove() cancels the reset and change_mtu work items but not tx_hang_reset, so a transmit (TX) timeout that fires while the device is being removed can schedule enic_tx_hang_reset() to run after free_netdev(), accessing memory that has already been freed. Exploiting this race requires privileged local control over device removal together with a TX timeout occurring within the narrow teardown window; the verified consequence is a kernel crash, resulting in denial of service. The kernel and kernel-rt packages in Red Hat Enterprise Linux 7 ELS, 8, 9, and 10 and the Red Hat In-Vehicle OS 2 kernel packages are affected; Red Hat Enterprise Linux 6 is not affected because the vulnerable code is not present in that release. The fix is currently deferred for the affected products: the flaw can only be triggered in a short race window during device teardown by a privileged local actor, so the residual risk is limited to denial of service with no demonstrated impact on confidentiality or integrity. Red Hat's severity (CVSS 5.5, AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H) is lower than the upstream score of 7.8 because Red Hat assessed the reliable attack path as local and privileged with impact on availability only, whereas the upstream scoring assumes full confidentiality, integrity, and availability impact.

Меры по смягчению последствий

Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability.

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Red Hat Enterprise Linux 10kernelFix deferred
Red Hat Enterprise Linux 6kernelNot affected
Red Hat Enterprise Linux 7kernelFix deferred
Red Hat Enterprise Linux 7kernel-rtFix deferred
Red Hat Enterprise Linux 8kernelFix deferred
Red Hat Enterprise Linux 8kernel-rtFix deferred
Red Hat Enterprise Linux 9kernelFix deferred
Red Hat Enterprise Linux 9kernel-rtFix deferred

Показывать по

Дополнительная информация

Статус:

Moderate
Дефект:
CWE-364
https://bugzilla.redhat.com/show_bug.cgi?id=2521492kernel: enic: fix tx_hang_reset use-after-free on device removal

5.5 Medium

CVSS3

Связанные уязвимости

CVSS3: 7.8
ubuntu
2 месяца назад

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.

CVSS3: 7.8
nvd
2 месяца назад

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.

CVSS3: 4.1
msrc
около 1 месяца назад

enic: fix tx_hang_reset use-after-free on device removal

CVSS3: 7.8
debian
2 месяца назад

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

CVSS3: 7.8
github
2 месяца назад

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.

5.5 Medium

CVSS3