CVE-2023-52629

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

State
Published
Severity
8.4 High
Published
Mar 29, 2024
Updated
Oct 3, 2026
Reserved
Mar 6, 2024

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.18.4 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HCISA-ADP

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • 9f5e8eee5cfe1328660c71812d87c2a67bda389f to before ff635d1f143b55fa005e9e43b16e6d8f677e90a5Affected
  • 9f5e8eee5cfe1328660c71812d87c2a67bda389f to before 610dbd8ac271aa36080aac50b928d700ee3fe4deAffected
  • 9f5e8eee5cfe1328660c71812d87c2a67bda389f to before 246f80a0b17f8f582b2c0996db02998239057c65Affected
LinuxLinux
  • 2.6.20Affected
  • before 2.6.20Not affected
  • 6.1.189 through 6.1.*Not affected
  • 6.5.4 through 6.5.*Not affected
  • 6.6 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.