Linux kernel
cpe:2.3:a:linux:linux_kernel:*:*:*:*:*:*:*, +4 more
A use-after-free vulnerability has been identified in the Linux kernel's virtiofs implementation, specifically related to the handling of submount unmounting. This issue arises when the 'iput()' function is called from 'fuse_release_end()', potentially leading to a system crash (Oops) if the superblock has already been destroyed. Typically, this situation is avoided by ensuring that the number of waiting requests drops to zero before initiating the superblock shutdown. However, this mechanism only works for the final submount instance, as the wait counter is connection-specific rather than superblock-specific. The vulnerability can be exploited by reverting to synchronous release requests for the auto_submounts case, which currently affects virtiofs only.
Exploitation of this vulnerability can lead to a use-after-free condition, causing a system crash (Oops) by dereferencing a freed memory location.
To reproduce this vulnerability, create a virtiofs filesystem with submounts. Then, unmount the submounts while the filesystem is still in use, which can cause the superblock to be destroyed before all requests have been processed. This can be automated with a script that mounts and unmounts submounts quickly, simulating a race condition.
Users can update to the latest version of the Linux kernel where this vulnerability has been fixed. Instructions for downloading the patched kernel can be found on the official Linux kernel website.
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.