CVE-2024-53131 nilfs2: fix null-ptr-deref in block_touch_buffer tracepoint
A null pointer dereference in the nilfs2 filesystem can cause a kernel crash when specific block tracepoints are enabled.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-53131?
CVE-2024-53131 is a medium-severity vulnerability in Linux kernel, published on 4 Dec 2024. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
nilfs2: fix null-ptr-deref in block_touch_buffer tracepoint
Patch series "nilfs2: fix null-ptr-deref bugs on block tracepoints".
This series fixes null pointer dereference bugs that occur when using nilfs2 and two block-related tracepoints.
This patch (of 2):
It has been reported that when using "block:block_touch_buffer" tracepoint, touch_buffer() called from __nilfs_get_folio_block() causes a NULL pointer dereference, or a general protection fault when KASAN is enabled.
This happens because since the tracepoint was added in touch_buffer(), it references the dev_t member bh->b_bdev->bd_dev regardless of whether the buffer head has a pointer to a block_device structure. In the current implementation, the block_device structure is set after the function returns to the caller.
Here, touch_buffer() is used to mark the folio/page that owns the buffer head as accessed, but the common search helper for folio/page used by the caller function was optimized to mark the folio/page as accessed when it was reimplemented a long time ago, eliminating the need to call touch_buffer() here in the first place.
So this solves the issue by eliminating the touch_buffer() call itself.
Weakness: CWE-476
Which versions are affected by CVE-2024-53131?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2024-53131?
Apply the vendor's patch.
Is CVE-2024-53131 being exploited?
There is no known exploitation of CVE-2024-53131 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-54131, AZL-54150, BELL-CVE-2024-53131, DEBIAN-CVE-2024-53131, GHSA-p85v-4hp9-vq4r, UBUNTU-CVE-2024-53131.