CVE-2026-31714

Summary

In the Linux kernel, the following vulnerability has been resolved:

f2fs: fix to avoid memory leak in f2fs_rename()

syzbot reported a f2fs bug as below:

BUG: memory leak unreferenced object 0xffff888127f70830 (size 16): comm "syz.0.23", pid 6144, jiffies 4294943712 hex dump (first 16 bytes): 3c af 57 72 5b e6 8f ad 6e 8e fd 33 42 39 03 ff <.Wr[…n..3B9.. backtrace (crc 925f8a80): kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline] slab_post_alloc_hook mm/slub.c:4520 [inline] slab_alloc_node mm/slub.c:4844 [inline] __do_kmalloc_node mm/slub.c:5237 [inline] __kmalloc_noprof+0x3bd/0x560 mm/slub.c:5250 kmalloc_noprof include/linux/slab.h:954 [inline] fscrypt_setup_filename+0x15e/0x3b0 fs/crypto/fname.c:364 f2fs_setup_filename+0x52/0xb0 fs/f2fs/dir.c:143 f2fs_rename+0x159/0xca0 fs/f2fs/namei.c:961 f2fs_rename2+0xd5/0xf20 fs/f2fs/namei.c:1308 vfs_rename+0x7ff/0x1250 fs/namei.c:6026 filename_renameat2+0x4f4/0x660 fs/namei.c:6144 __do_sys_renameat2 fs/namei.c:6173 [inline] __se_sys_renameat2 fs/namei.c:6168 [inline] __x64_sys_renameat2+0x59/0x80 fs/namei.c:6168 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xe2/0xf80 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f

The root cause is in commit 40b2d55e0452 ("f2fs: fix to create selinux label during whiteout initialization"), we added a call to f2fs_setup_filename() without a matching call to f2fs_free_filename(), fix it.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux7525dec4b34c80b3015c3f2ac143fd2bfc1febc3 < a76c1cad4e80a9802ef8048662255417e3ce5b79affected
LinuxLinux40b2d55e045222dd6de2a54a299f682e0f954b03 < c78206dcb912ab60b8ee3cbe8c48d749a9a12e1eaffected
LinuxLinux40b2d55e045222dd6de2a54a299f682e0f954b03 < 047c0aef6af37a2a35181aa085c616ad286386f1affected
LinuxLinux40b2d55e045222dd6de2a54a299f682e0f954b03 < 369eb2016d8e2f01931b3bad1cb9cefa83f44003affected
LinuxLinux40b2d55e045222dd6de2a54a299f682e0f954b03 < 3cf11e6f36c170050c12171dd6fd3142711478fcaffected
LinuxLinux1d1b89c9846e6a550eca3d2ce9323fb591e4f321affected
LinuxLinux64582cc5357cd984724cfb0835b4a34d9c279d31affected
LinuxLinux6.6.23 < 6.6.136affected
LinuxLinux6.7.11 < 6.8affected
LinuxLinux6.8.2 < 6.9affected
LinuxLinux6.9affected
LinuxLinux0 < 6.9unaffected
LinuxLinux6.6.136 <= 6.6.*unaffected
LinuxLinux6.12.84 <= 6.12.*unaffected
LinuxLinux6.18.25 <= 6.18.*unaffected
LinuxLinux7.0.2 <= 7.0.*unaffected
LinuxLinux7.1 <= *unaffected

Weaknesses

References