CVE-2023-52629·Kernel vulnerability
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.
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.5.4
- Published
- 2024-03-29
Affected versions
From: 2.6.20
Until: 6.5.4
Fixed in: 6.5.4
How to fix this CVE
Update your Linux kernel to version 6.5.4 or later to resolve a use-after-free vulnerability in the push-switch driver that could lead to memory corruption. This patch reorders cleanup operations to ensure timers are properly shut down before worker threads are allowed to access freed memory. Systems running kernel versions 2.6.20 through 6.5.3 should prioritize this update.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Check your current kernel version: uname -r
- Verify if the affected push-switch driver is loaded: lsmod | grep -i 'push\|switch'
- Compare your kernel version against the vulnerability range (2.6.20-6.5.3): if your version falls in this range and you see the driver loaded, your system is vulnerable
- After patching, confirm the new kernel is running: uname -r should show 6.5.4 or later, then reboot if needed and verify again
FAQ
What is CVE-2023-52629?
CVE-2023-52629 is a use-after-free vulnerability in the Linux kernel's push-switch driver where a timer can reschedule worker threads after they have been flushed but before the timer itself is shut down, allowing workers to access memory that has already been freed.
Is CVE-2023-52629 being actively exploited?
No, this vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog and no public exploits are available. However, the high CVSS score of 8.4 indicates significant risk if exploited locally.
What versions of Kernel are affected by CVE-2023-52629?
The vulnerability affects Linux kernel versions from 2.6.20 through 6.5.3. Version 6.5.4 and later contain the fix.
How do I check if my server is vulnerable to CVE-2023-52629?
Run 'uname -r' to check your kernel version; if it is between 2.6.20 and 6.5.3, your system is vulnerable. Additionally, run 'lsmod | grep -i push' to confirm if the affected push-switch driver is loaded on your system.
Does Defensia detect CVE-2023-52629?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2023-52629 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2023-52629. Free for 1 server.
Get started free