CVE-2024-41935
Published: 11 January 2025
Description
In the Linux kernel, the following vulnerability has been resolved: f2fs: fix to shrink read extent node in batches We use rwlock to protect core structure data of extent tree during its shrink, however, if there is a huge number of extent nodes in extent tree, during shrink of extent tree, it may hold rwlock for a very long time, which may trigger kernel hang issue. This patch fixes to shrink read extent node in batches, so that, critical region of the rwlock can be shrunk to avoid its extreme long time hold.
Security Summary
CVE-2024-41935 is a vulnerability in the Linux kernel's F2FS filesystem implementation. It occurs during the shrinking of the extent tree when a huge number of extent nodes are present, causing an rwlock protecting core structure data to be held for an excessively long time. This prolonged lock hold can trigger a kernel hang. The issue is classified under CWE-125 with a CVSS v3.1 base score of 7.1 (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H).
A local attacker with low privileges can exploit this vulnerability without user interaction. By triggering the extent tree shrink operation under conditions with a large number of extent nodes, the attacker can cause the kernel to hang, resulting in a denial of service due to high availability impact. The vulnerability also allows for high confidentiality impact, though the primary effect described is the extended rwlock hold leading to system instability.
Mitigation is provided through kernel patches available in stable releases, as detailed in the following commit references: https://git.kernel.org/stable/c/295b50e95e900da31ff237e46e04525fa799b2cf, https://git.kernel.org/stable/c/3fc5d5a182f6a1f8bd4dc775feb54c369dd2c343, and https://git.kernel.org/stable/c/924f7dd1e832e4e4530d14711db223d2803f7b61. These patches modify the shrink process to handle read extent nodes in batches, reducing the duration of the rwlock's critical section and preventing prolonged holds.
Details
- CWE(s)