In the Linux kernel, the following vulnerability has been resolved:
f2fs: fix to cover read extent cache access with lock
syzbot reports a f2fs bug as below:
BUG: KASAN: slab-use-after-free in sanity_check_extent_cache+0x370/0x410 fs/f2fs/extent_cache.c:46 Read of size 4 at addr ffff8880739ab220 by task syz-executor200/5097
CPU: 0 PID: 5097 Comm: syz-executor200 Not tainted 6.9.0-rc6-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114 print_address_description mm/kasan/report.c:377 [inline] print_report+0x169/0x550 mm/kasan/report.c:488 kasan_report+0x143/0x180 mm/kasan/report.c:601 sanity_check_extent_cache+0x370/0x410 fs/f2fs/extent_cache.c:46 do_read_inode fs/f2fs/inode.c:509 [inline] f2fs_iget+0x33e1/0x46e0 fs/f2fs/inode.c:560 f2fs_nfs_get_inode+0x74/0x100 fs/f2fs/super.c:3237 generic_fh_to_dentry+0x9f/0xf0 fs/libfs.c:1413 exportfs_decode_fh_raw+0x152/0x5f0 fs/exportfs/expfs.c:444 exportfs_decode_fh+0x3c/0x80 fs/exportfs/expfs.c:584 do_handle_to_path fs/fhandle.c:155 [inline] handle_to_path fs/fhandle.c:210 [inline] do_handle_open+0x495/0x650 fs/fhandle.c:226 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f
We missed to cover sanity_check_extent_cache() w/ extent cache lock, so, below race case may happen, result in use after free issue.
- f2fs_iget - do_read_inode - f2fs_init_read_extent_tree : add largest extent entry in to cache - shrink - f2fs_shrink_read_extent_tree - __shrink_extent_tree - __detach_extent_node : drop largest extent entry - sanity_check_extent_cache : access et->largest w/o lock
let's refactor sanity_check_extent_cache() to avoid extent cache access and call it before f2fs_init_read_extent_tree() to fix this issue.
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | May 15, 2025 | Aug 26, 2024 |
| Ubuntu | — | Upgrade linux-image-lowlatencyUpgrade linux-image-nvidiaUpgrade linux-image-lowlatency-64kUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-50-genericUpgrade linux-image-6.8.0-1019-nvidia-lowlatencyUpgrade linux-image-ibm-classicUpgrade linux-image-azureUpgrade linux-image-oem-22.04cUpgrade linux-image-6.8.0-50-lowlatency-64kUpgrade linux-image-6.8.0-1017-ibmUpgrade linux-image-6.8.0-1019-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1017-oracle-64kUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-6.8.0-50-lowlatencyUpgrade linux-image-oem-22.04dUpgrade linux-image-6.8.0-1019-nvidia-64kUpgrade linux-image-raspiUpgrade linux-image-6.8.0-1015-gkeUpgrade linux-image-6.8.0-1018-oemUpgrade linux-image-generic-64kUpgrade linux-image-azure-fdeUpgrade linux-image-ibmUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-nvidia-6.8Upgrade linux-image-6.8.0-1020-azure-fdeUpgrade linux-image-6.8.0-1016-raspiUpgrade linux-image-oem-22.04aUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-kvmUpgrade linux-image-6.8.0-1017-oracleUpgrade linux-image-6.8.0-50-generic-64kUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-oracleUpgrade linux-image-6.8.0-1020-azureUpgrade linux-image-nvidia-64kUpgrade linux-image-awsUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-6.8.0-1002-gkeopUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-oem-24.04Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-virtualUpgrade linux-image-gkeUpgrade linux-image-oracle-64kUpgrade linux-image-oem-22.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-gkeop-6.8Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.8.0-1020-awsUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-1019-gcpUpgrade linux-image-oem-24.04aUpgrade linux-image-6.8.0-1019-nvidiaUpgrade linux-image-oem-22.04bUpgrade linux-image-generic-lpaeUpgrade linux-image-gkeopUpgrade linux-image-gcpUpgrade linux-image-genericUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-nvidia-64k-hwe-22.04 | Dec 13, 2024 | Aug 26, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub