🛡️ UBUNTU-CVE-2025-37739
⚪ Unknown ✅ No Known Exploit OSV
N/A
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

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: __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.

Details

Severity Unknown
CVSS Score N/A
CVSS Vector CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
CWE N/A
Public Exploit ✅ No
Source OSV
Published 2025-05-01
Updated 2026-06-15
Modified 2026-06-08
Fix URL N/A

Affected Packages

Software From version Fixed in
linux 6.8.0-100.100
linux-allwinner-5.19
linux-aws 6.8.0-1046.49
linux-aws-5.0
linux-aws-5.11
linux-aws-5.13
linux-aws-5.15 5.15.0-1088.95~20.04.1
linux-aws-5.19
linux-aws-5.3
linux-aws-5.4
linux-aws-5.8
linux-aws-6.2
linux-aws-6.5
linux-aws-6.8 6.8.0-1046.49~22.04.1
linux-aws-fips 6.8.0-1046.49+fips1
linux-aws-hwe
linux-azure 6.8.0-1046.52
linux-azure-4.15
linux-azure-5.11
linux-azure-5.13
linux-azure-5.15 5.15.0-1094.103~20.04.1
linux-azure-5.19
linux-azure-5.3
linux-azure-5.4
linux-azure-5.8
linux-azure-6.11
linux-azure-6.2
linux-azure-6.5
linux-azure-6.8 6.8.0-1051.57~22.04.1
linux-azure-edge
linux-azure-fde
linux-azure-fde-5.15
linux-azure-fde-5.19
linux-azure-fde-6.17
linux-azure-fde-6.2
linux-azure-fde-6.8
linux-azure-fips 6.8.0-1046.52+fips1
linux-azure-nvidia
linux-bluefield
linux-fips 6.8.0-100.100+fips1
linux-gcp 6.8.0-1047.50
linux-gcp-4.15
linux-gcp-5.11
linux-gcp-5.13
linux-gcp-5.15 5.15.0-1087.96~20.04.2
linux-gcp-5.19
linux-gcp-5.3
linux-gcp-5.4
linux-gcp-5.8
linux-gcp-6.11
linux-gcp-6.2
linux-gcp-6.5
linux-gcp-6.8 6.8.0-1047.50~22.04.2
linux-gcp-fips 6.8.0-1047.50+fips1
linux-gke 6.8.0-1043.48
linux-gke-4.15
linux-gke-5.15
linux-gke-5.4
linux-gkeop 6.8.0-1030.33
linux-gkeop-5.15
linux-gkeop-5.4
linux-hwe
linux-hwe-5.11
linux-hwe-5.13
linux-hwe-5.15 5.15.0-144.157~20.04.1
linux-hwe-5.19
linux-hwe-5.4
linux-hwe-5.8
linux-hwe-6.11
linux-hwe-6.2
linux-hwe-6.5
linux-hwe-6.8 6.8.0-100.100~22.04.1
linux-hwe-edge
linux-ibm 6.8.0-1044.44
linux-ibm-5.15 5.15.0-1080.83~20.04.1
linux-ibm-5.4
linux-ibm-6.8 6.8.0-1044.44~22.04.1
linux-intel
linux-intel-5.13
linux-intel-iot-realtime 5.15.0-1081.83
linux-intel-iotg 5.15.0-1083.89
linux-intel-iotg-5.15 5.15.0-1083.89~20.04.1
linux-iot
linux-kvm 5.15.0-1084.89
linux-lowlatency 6.8.0-100.100.1
linux-lowlatency-hwe-5.15 5.15.0-144.157~20.04.1
linux-lowlatency-hwe-5.19
linux-lowlatency-hwe-6.11
linux-lowlatency-hwe-6.2
linux-lowlatency-hwe-6.5
linux-lowlatency-hwe-6.8 6.8.0-100.100.1~22.04.1
linux-lts-xenial
linux-nvidia 6.8.0-1046.49
linux-nvidia-6.11
linux-nvidia-6.2
linux-nvidia-6.5
linux-nvidia-6.8 6.8.0-1046.49~22.04.1
linux-nvidia-lowlatency 6.8.0-1046.49.1
linux-nvidia-tegra 6.8.0-1020.20
linux-nvidia-tegra-5.15 5.15.0-1041.41~20.04.1
linux-nvidia-tegra-igx 5.15.0-1030.30
linux-oem
linux-oem-5.10
linux-oem-5.13
linux-oem-5.14
linux-oem-5.17
linux-oem-5.6
linux-oem-6.0
linux-oem-6.1
linux-oem-6.11
linux-oem-6.5
linux-oem-6.8
linux-oracle 6.8.0-1043.44
linux-oracle-5.0
linux-oracle-5.11
linux-oracle-5.13
linux-oracle-5.15 5.15.0-1085.91~20.04.3
linux-oracle-5.3
linux-oracle-5.4
linux-oracle-5.8
linux-oracle-6.5
linux-oracle-6.8 6.8.0-1043.44~22.04.1
linux-raspi 6.8.0-1047.51
linux-raspi-5.4
linux-raspi-realtime 6.8.0-2037.38
linux-raspi2
linux-realtime 6.8.1-1041.42
linux-realtime-6.8 6.8.1-1041.42~22.04.1
linux-riscv
linux-riscv-5.11
linux-riscv-5.15 5.15.0-1083.87~20.04.1
linux-riscv-5.19
linux-riscv-5.8
linux-riscv-6.5
linux-riscv-6.8 6.8.0-100.100~22.04.1
linux-starfive-5.19
linux-starfive-6.2
linux-starfive-6.5
linux-xilinx 6.8.0-1023.24
linux-xilinx-zynqmp 5.15.0-1052.56

References

Similar Threats

Site Security Check

Concerned your site may already be targeted?

BotEraser analyzes incoming traffic patterns and helps identify bot behavior consistent with known exploit attempts.

Check My Site Free →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.