Linux kernel
cpe:2.3:a:linux:linux_kernel:*:*:*:*:*:*:*, +4 more
A vulnerability exists in the Linux kernel's handling of the FI_NO_EXTENT flag within the F2FS file system. When the __destroy_extent_node() function sets the FI_NO_EXTENT flag, it fails to reset the largest extent length to zero and update the associated inode folio. This oversight can lead to stale cached extent information, causing errors during file system checks. The issue arises because, after the flag is set, modifications to the extent tree are prohibited, yet the cached data may no longer be accurate. The problem has been observed in F2FS file systems, particularly when running xfstests.
The vulnerability can cause file system integrity issues by allowing stale extent information to persist, leading to incorrect inode extent data that can disrupt file system operations.
The vulnerability can be reproduced by creating a scenario where the FI_NO_EXTENT flag is set on an inode without properly updating the corresponding extent cache. This can be done by manipulating the extent tree and then checking the inode's extent information, which will reveal the inconsistency.
Users can apply the latest patches available in the Linux kernel stable tree to address this vulnerability.
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.