CVE-2025-40138
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
12/11/2025
Última modificación:
12/11/2025
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
f2fs: fix to avoid NULL pointer dereference in f2fs_check_quota_consistency()<br />
<br />
syzbot reported a f2fs bug as below:<br />
<br />
Oops: gen[ 107.736417][ T5848] Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] SMP KASAN PTI<br />
KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]<br />
CPU: 1 UID: 0 PID: 5848 Comm: syz-executor263 Tainted: G W 6.17.0-rc1-syzkaller-00014-g0e39a731820a #0 PREEMPT_{RT,(full)}<br />
RIP: 0010:strcmp+0x3c/0xc0 lib/string.c:284<br />
Call Trace:<br />
<br />
f2fs_check_quota_consistency fs/f2fs/super.c:1188 [inline]<br />
f2fs_check_opt_consistency+0x1378/0x2c10 fs/f2fs/super.c:1436<br />
__f2fs_remount fs/f2fs/super.c:2653 [inline]<br />
f2fs_reconfigure+0x482/0x1770 fs/f2fs/super.c:5297<br />
reconfigure_super+0x224/0x890 fs/super.c:1077<br />
do_remount fs/namespace.c:3314 [inline]<br />
path_mount+0xd18/0xfe0 fs/namespace.c:4112<br />
do_mount fs/namespace.c:4133 [inline]<br />
__do_sys_mount fs/namespace.c:4344 [inline]<br />
__se_sys_mount+0x317/0x410 fs/namespace.c:4321<br />
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]<br />
do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94<br />
entry_SYSCALL_64_after_hwframe+0x77/0x7f<br />
<br />
The direct reason is f2fs_check_quota_consistency() may suffer null-ptr-deref<br />
issue in strcmp().<br />
<br />
The bug can be reproduced w/ below scripts:<br />
mkfs.f2fs -f /dev/vdb<br />
mount -t f2fs -o usrquota /dev/vdb /mnt/f2fs<br />
quotacheck -uc /mnt/f2fs/<br />
umount /mnt/f2fs<br />
mount -t f2fs -o usrjquota=aquota.user,jqfmt=vfsold /dev/vdb /mnt/f2fs<br />
mount -t f2fs -o remount,usrjquota=,jqfmt=vfsold /dev/vdb /mnt/f2fs<br />
umount /mnt/f2fs<br />
<br />
So, before old_qname and new_qname comparison, we need to check whether<br />
they are all valid pointers, fix it.



