Skip to content
CVE PROGRAM SOURCE RECORD8.4 High

CVE-2023-52629

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

Description

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.

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

  • 9f5e8eee5cfe1328660c71812d87c2a67bda389f to < ff635d1f143b55fa005e9e43b16e6d8f677e90a5affected
  • 9f5e8eee5cfe1328660c71812d87c2a67bda389f to < 610dbd8ac271aa36080aac50b928d700ee3fe4deaffected
  • 9f5e8eee5cfe1328660c71812d87c2a67bda389f to < 246f80a0b17f8f582b2c0996db02998239057c65affected

Linux Linux

Default version status: affected

  • 2.6.20affected
  • 0 to < 2.6.20unaffected
  • 6.1.189 to ≤ 6.1.*unaffected
  • 6.5.4 to ≤ 6.5.*unaffected
  • 6.6 to ≤ *unaffected

References