Linux kernel
cpe:2.3:a:linux:linux_kernel:*:*:*:*:*:*:*, +4 more
A deadlock vulnerability has been identified in the Linux kernel's SLUB memory allocator. The issue arises in the 'set_track_prepare' function, which can cause lock recursion. When 'set_track_prepare' is called from 'hrtimer_start_range_ns', it holds a lock that, under certain conditions, can inadvertently wake up the kswapd process. This can lead to a deadlock situation, as kswapd tries to reclaim memory while the original function call is still holding the lock. The vulnerability is present in the Linux kernel stable tree, specifically in versions prior to the latest commit that addresses this issue.
Exploitation of this vulnerability can lead to a deadlock situation, causing the system to hang while waiting for resources to be released.
The vulnerability can be reproduced by enabling the 'CONFIG_DEBUG_OBJECTS_TIMERS' option in the Linux kernel. This causes the 'set_track_prepare' function to wake up the kswapd process while holding a lock, leading to a deadlock. The issue can be observed in the kernel's debug objects timer handling, where the improper management of memory allocation flags allows for this lock recursion to occur.
Users can upgrade to the latest version of the Linux kernel stable tree, where this vulnerability has been addressed.
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.