CVE-2023-52629CWE-416

CVE-2023-52629

High · published March 29, 2024

CVSS v3.1
8.4
EPSS
0%
Percentile
16.0
In the wild
Unconfirmed
What it is

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

sh: push-switch: Reorder cleanup operations to avoid use-after-free bug

The original code puts flush_work() before timer_shutdown_sync()

in switch_drv_remove(). Although we use flush_work() to stop

the worker, it could be rescheduled in switch_timer(). As a result,

a use-after-free bug can occur. The details are shown below:

(cpu 0) | (cpu 1)

switch_drv_remove() |

flush_work() |

... | switch_timer // timer

| schedule_work(&psw->work)

timer_shutdown_sync() |

... | switch_work_handler // worker

kfree(psw) // free |

| psw->state = 0 // use

This patch puts timer_shutdown_sync() before flush_work() to

mitigate the bugs. As a result, the worker and timer will be

stopped safely before the deallocate operations.

The record
Technical detail
CVSS v3.1
8.4 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00254 · 16.0th percentile
Weakness
CWE-416 · Use After Free
Published
2024-03-29T14:15Z
Affected products (1)
ProductVersionsFixed in
linux/linux_kernel≥ 2.6.20, < 6.5.46.5.4
References (5)
EPSS history
Timeline
  • 29 MAR 09:13Z
    sh: push-switch: Reorder cleanup operations to avoid use-after-free bug
    cvelistv5