Skip to main content

CVE-2025-37739: Vulnerability in Linux Linux

High
VulnerabilityCVE-2025-37739cvecve-2025-37739
Published: Thu May 01 2025 (05/01/2025, 12:55:48 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

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

AI-Powered Analysis

AILast updated: 07/03/2025, 22:25:53 UTC

Technical Analysis

CVE-2025-37739 is a vulnerability identified in the Linux kernel's implementation of the F2FS (Flash-Friendly File System). The issue arises from an out-of-bounds array access in the function f2fs_truncate_inode_blocks(), which is responsible for truncating inode blocks during file size reduction operations. The vulnerability was discovered through UBSAN (Undefined Behavior Sanitizer) reports indicating an array index out-of-bounds error in fs/f2fs/node.h at line 381. Specifically, the function get_nid() attempts to access an index with a large negative offset (-924), which is invalid and leads to memory corruption risks. This occurs when truncating an inode size to zero, where certain conditions cause the function to operate on a non-inode page due to node block address reuse and improper sanity checks. The root cause is that multiple NAT (Node Address Table) entries may share the same node block address, and when a node block address is reused, f2fs_get_node_page() may load a non-inode block. The lack of a proper check for this condition results in the out-of-bounds access. The patch involves adding sanity checks to prevent such invalid memory accesses during truncation operations. This vulnerability affects Linux kernel versions identified by the commit hash 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 and likely other versions prior to the fix. No known exploits are reported in the wild as of the publication date (May 1, 2025). The vulnerability requires local code execution context where truncation operations on F2FS file systems are performed, potentially by privileged or unprivileged users depending on system configuration. The lack of a CVSS score necessitates an independent severity assessment based on technical details.

Potential Impact

For European organizations, the impact of CVE-2025-37739 can be significant, especially for those relying on Linux systems with F2FS file systems, which are commonly used in flash storage devices such as SSDs and embedded systems. The vulnerability could lead to memory corruption, causing system instability, crashes, or potential escalation of privileges if exploited. This could disrupt critical services, data integrity, and availability. Organizations using Linux-based servers, IoT devices, or embedded systems with F2FS are at risk. Given the kernel-level nature of the flaw, exploitation could compromise confidentiality, integrity, and availability of affected systems. The absence of known exploits reduces immediate risk but does not eliminate the threat, as attackers could develop exploits post-disclosure. European sectors with high reliance on Linux infrastructure, such as telecommunications, finance, manufacturing, and public services, could face operational disruptions or data breaches if the vulnerability is exploited. Additionally, the complexity of the bug and requirement for specific file system conditions may limit widespread exploitation but still pose a targeted threat.

Mitigation Recommendations

To mitigate CVE-2025-37739, European organizations should: 1) Apply the official Linux kernel patches as soon as they become available to address the out-of-bounds access in the F2FS code. 2) Audit and monitor systems using F2FS file systems, particularly those handling truncation operations or running workloads that modify file sizes extensively. 3) Restrict local access to trusted users only, as exploitation requires local code execution capabilities. 4) Implement kernel-level security hardening measures such as Kernel Address Space Layout Randomization (KASLR), and enable memory protection features like SMEP/SMAP to reduce exploitation success. 5) Conduct thorough testing of kernel updates in staging environments before deployment to avoid service disruptions. 6) Maintain up-to-date backups and incident response plans to quickly recover from potential exploitation. 7) Monitor security advisories and threat intelligence feeds for any emerging exploit attempts targeting this vulnerability. 8) For embedded or IoT devices using F2FS, coordinate with vendors to ensure timely firmware updates incorporating the fix.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2025-04-16T04:51:23.936Z
Cisa Enriched
false
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9832c4522896dcbe82c4

Added to database: 5/21/2025, 9:09:06 AM

Last enriched: 7/3/2025, 10:25:53 PM

Last updated: 7/29/2025, 10:36:50 PM

Views: 14

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats