In the Linux kernel, the following vulnerability has been resolved:
f2fs: fix to avoid out-of-bounds access in f2fs_truncate_inode_blocks()
syzbot reports an UBSAN issue as below:
------------[ cut here ]------------ UBSAN: array-index-out-of-bounds in fs/f2fs/node.h:381:10 index 18446744073709550692 is out of range for type '__le32[5]' (aka 'unsigned int[5]') CPU: 0 UID: 0 PID: 5318 Comm: syz.0.0 Not tainted 6.14.0-rc3-syzkaller-00060-g6537cfb395f3 #0 Call Trace: <TASK> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 ubsan_epilogue lib/ubsan.c:231 [inline] __ubsan_handle_out_of_bounds+0x121/0x150 lib/ubsan.c:429 get_nid fs/f2fs/node.h:381 [inline] f2fs_truncate_inode_blocks+0xa5e/0xf60 fs/f2fs/node.c:1181 f2fs_do_truncate_blocks+0x782/0x1030 fs/f2fs/file.c:808 f2fs_truncate_blocks+0x10d/0x300 fs/f2fs/file.c:836 f2fs_truncate+0x417/0x720 fs/f2fs/file.c:886 f2fs_file_write_iter+0x1bdb/0x2550 fs/f2fs/file.c:5093 aio_write+0x56b/0x7c0 fs/aio.c:1633 io_submit_one+0x8a7/0x18a0 fs/aio.c:2052 __do_sys_io_submit fs/aio.c:2111 [inline] __se_sys_io_submit+0x171/0x2e0 fs/aio.c:2081 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f238798cde9
index 18446744073709550692 (decimal, unsigned long long) = 0xfffffffffffffc64 (hexadecimal, unsigned long long) = -924 (decimal, long long)
In f2fs_truncate_inode_blocks(), UBSAN detects that get_nid() tries to access .i_nid[-924], it means both offset[0] and level should zero.
The possible case should be in f2fs_do_truncate_blocks(), we try to truncate inode size to zero, however, dn.ofs_in_node is zero and dn.node_page is not an inode page, so it fails to truncate inode page, and then pass zeroed free_from to f2fs_truncate_inode_blocks(), result in this issue.
if (dn.ofs_in_node || IS_INODE(dn.node_page)) { f2fs_truncate_data_blocks_range(&dn, count); free_from += count; }
I guess the reason why dn.node_page is not an inode page could be: there are multiple nat entries share the same node block address, once the node block address was reused, f2fs_get_node_page() may load a non-inode block.
Let's add a sanity check for such condition to avoid out-of-bounds access issue.
CVSS Details
- CVSS 3.1 Base Score: 7.1
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linuxUpgrade linux-6.1 | May 5, 2025 | May 1, 2025 |
| Oracle_linux | — | Upgrade kernel-uek | Jul 17, 2025 | May 1, 2025 |
| Ubuntu | — | Upgrade linux-image-6.8.0-1043-gkeUpgrade linux-image-6.8.0-1046-azure-fipsUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-6.8.0-1046-nvidia-64kUpgrade linux-image-generic-lpae-5.15Upgrade linux-image-oem-20.04dUpgrade linux-image-azure-fips-6.8Upgrade linux-image-aws-5.15Upgrade linux-image-nvidia-64kUpgrade linux-image-kvm-5.15Upgrade linux-image-5.15.0-1082-nvidia-lowlatencyUpgrade linux-image-xilinxUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-5.15.0-1080-ibmUpgrade linux-image-6.14.0-1007-azure-fdeUpgrade linux-image-genericUpgrade linux-image-azure-fips-5.15Upgrade linux-image-raspi-realtimeUpgrade linux-image-intel-iotg-5.15Upgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-5.15.0-1094-azure-fipsUpgrade linux-image-gke-6.8Upgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-realtime-hwe-22.04Upgrade linux-image-6.8.0-1047-gcpUpgrade linux-image-6.8.0-1030-gkeopUpgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-realtime-5.15Upgrade linux-image-nvidiaUpgrade linux-image-6.8.0-1046-nvidiaUpgrade linux-image-6.8.0-2037-raspi-realtimeUpgrade linux-image-6.14.0-22-generic-64kUpgrade linux-image-6.8.0-100-fipsUpgrade linux-image-5.15.0-144-generic-lpaeUpgrade linux-image-azure-lts-22.04Upgrade linux-image-5.15.0-144-fipsUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-5.15.0-1070-gkeopUpgrade linux-image-5.15.0-1085-gkeUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.8.0-100-lowlatency-64kUpgrade linux-image-aws-64kUpgrade linux-image-6.8.0-1046-azureUpgrade linux-image-lowlatency-64kUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-intel-iotgUpgrade linux-image-gkeop-5.15Upgrade linux-image-realtimeUpgrade linux-image-virtualUpgrade linux-image-5.15.0-1041-nvidia-tegraUpgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-nvidia-tegra-5.15Upgrade linux-image-5.15.0-1094-azureUpgrade linux-image-oem-20.04Upgrade linux-image-gkeUpgrade linux-image-fips-6.8Upgrade linux-image-nvidia-5.15Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-oem-22.04cUpgrade linux-image-5.15.0-1082-nvidiaUpgrade linux-image-6.8.0-1046-aws-64kUpgrade linux-image-6.14.0-1007-oracleUpgrade linux-image-6.8.0-1051-azureUpgrade linux-image-oem-20.04bUpgrade linux-image-azure-6.8Upgrade linux-image-6.8.0-1047-raspiUpgrade linux-image-6.8.0-1046-nvidia-lowlatency-64kUpgrade linux-image-5.15.0-1085-oracleUpgrade linux-image-gcp-6.8Upgrade linux-image-fips-5.15Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-oem-22.04Upgrade linux-image-intelUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-6.8.0-1046-aws-fipsUpgrade linux-image-oracleUpgrade linux-image-nvidia-tegraUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-5.15.0-1083-raspiUpgrade linux-image-lowlatency-5.15Upgrade linux-image-5.15.0-144-lowlatency-64kUpgrade linux-image-6.8.0-1043-oracleUpgrade linux-image-5.15.0-1030-nvidia-tegra-igxUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-generic-64kUpgrade linux-image-5.15.0-144-genericUpgrade linux-image-gkeopUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-gcpUpgrade linux-image-oem-20.04cUpgrade linux-image-oracle-64kUpgrade linux-image-nvidia-tegra-igx-5.15Upgrade linux-image-virtual-5.15Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-5.15.0-1087-gcpUpgrade linux-image-6.14.0-1004-realtimeUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-6.8.0-1023-xilinxUpgrade linux-image-6.14.0-1007-oracle-64kUpgrade linux-image-gke-5.15Upgrade linux-image-gcp-5.15Upgrade linux-image-azure-fipsUpgrade linux-image-gkeop-6.8Upgrade linux-image-6.14.0-1007-awsUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-5.15.0-144-lowlatencyUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-6.8.0-100-genericUpgrade linux-image-5.15.0-1088-aws-64kUpgrade linux-image-gcp-64kUpgrade linux-image-6.14.0-1007-aws-64kUpgrade linux-image-6.14.0-1008-gcp-64kUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-5.15.0-1088-aws-fipsUpgrade linux-image-oracle-5.15Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-ibm-6.8Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-aws-fipsUpgrade linux-image-6.8.0-1044-ibmUpgrade linux-image-6.14.0-1007-azureUpgrade linux-image-5.15.0-1030-nvidia-tegra-igx-rtUpgrade linux-image-realtime-6.8.1Upgrade linux-image-5.15.0-1083-intel-iotgUpgrade linux-image-generic-64k-5.15Upgrade linux-image-6.8.0-1047-gcp-64kUpgrade linux-image-azure-fdeUpgrade linux-image-generic-6.8Upgrade linux-image-fipsUpgrade linux-image-5.15.0-1088-awsUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-lowlatency-6.8Upgrade linux-image-generic-lpaeUpgrade linux-image-aws-lts-22.04Upgrade linux-image-oracle-6.8Upgrade linux-image-azure-cvmUpgrade linux-image-generic-64k-6.8Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-azureUpgrade linux-image-aws-lts-24.04Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-6.8.0-1047-gcp-fipsUpgrade linux-image-6.8.0-100-generic-64kUpgrade linux-image-5.15.0-144-generic-64kUpgrade linux-image-6.14.0-22-genericUpgrade linux-image-5.15.0-1081-intel-iot-realtimeUpgrade linux-image-nvidia-tegra-rt-5.15Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-ibmUpgrade linux-image-gke-64kUpgrade linux-image-6.8.0-1043-oracle-64kUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-6.14.0-1007-raspiUpgrade linux-image-5.15.0-1088-realtimeUpgrade linux-image-azure-lts-24.04Upgrade linux-image-raspi-nolpaeUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-gcp-fipsUpgrade linux-image-azure-5.15Upgrade linux-image-aws-64k-5.15Upgrade linux-image-aws-6.8Upgrade linux-image-6.8.0-100-lowlatencyUpgrade linux-image-oem-22.04bUpgrade linux-image-oem-22.04aUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-lowlatencyUpgrade linux-image-raspiUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-5.15.0-1087-gcp-fipsUpgrade linux-image-virtual-6.8Upgrade linux-image-gcp-fips-5.15Upgrade linux-image-aws-fips-6.8Upgrade linux-image-awsUpgrade linux-image-raspi-5.15Upgrade linux-image-6.8.0-1046-nvidia-lowlatencyUpgrade linux-image-nvidia-6.8Upgrade linux-image-gke-64k-6.8Upgrade linux-image-raspi-6.8Upgrade linux-image-6.14.0-1008-gcpUpgrade linux-image-xilinx-6.8Upgrade linux-image-ibm-classicUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-kvmUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-5.15.0-1084-kvmUpgrade linux-image-6.8.0-1043-gke-64kUpgrade linux-image-5.15.0-1052-xilinx-zynqmpUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-oracle-64k-6.8Upgrade linux-image-oem-22.04dUpgrade linux-image-6.8.1-1041-realtimeUpgrade linux-image-5.15.0-1041-nvidia-tegra-rtUpgrade linux-image-aws-64k-6.8Upgrade linux-image-generic-5.15Upgrade linux-image-aws-fips-5.15Upgrade linux-image-6.8.0-1046-awsUpgrade linux-image-nvidia-tegra-igx-rt-5.15Upgrade linux-image-ibm-5.15 | Jun 26, 2025 | May 1, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Sep 22, 2025 | May 1, 2025 |
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